http://blogs.wankuma.com/myugaru/archive/2008/03/09/126945.aspx
んで。結局へんなネーミングは漢字2文字シリーズにしとこうかなって急に思えたので、
領地(Territory)
に決めた。割とダブりそうに無い気がするのでよしとしますw
そんでもって
デフォルトのビューポート退避
ビューポートリスト.ForEach(
ビューポート設定
ビューポート => ビューポート.描画リスト.ForEach(
描画 => 描画.Render()
)
)
デフォルトのビューポート復帰
の部分はこんな風になっちゃうのです。
なんかー・・・コードにしちゃうとイカツイ感じがするー。
↓↓なんか難しそうでやだやだーぜんぜんかわいくない!(`Д´)
public static void Render(Device device, Sprite sprite)
{
Viewport saveViewport = device.Viewport;
territories.ForEach(terNode => {
DTerritory ter = terNode.Value;
device.Viewport = ter.viewport;
sprite.Begin(SpriteFlags.AlphaBlend);
ter.aviators.ForEach(aviNode => {
DAviator avi = aviNode.Value;
DVehicle veh = DVehicle.Items(avi.VehicleName);
PointF center = new PointF(
veh.DispRect.Width / 2f, veh.DispRect.Height / 2f);
PointF dest = new PointF(
avi.Px + center.X, avi.Py + center.Y);
Texture tex = DTexture.Items(veh.TextureName);
sprite.Draw2D(DTexture.Items(veh.TextureName), veh.DispRect,
veh.DispRect.Size, center, avi.Angle, dest, -1);
});
sprite.End();
});
device.Viewport = saveViewport;
}