moved Game.minimap into World

This commit is contained in:
Bob
2010-01-18 02:21:44 +13:00
parent a98296c4c4
commit 6f0c2c5a5d
4 changed files with 16 additions and 16 deletions

View File

@@ -230,8 +230,8 @@ namespace OpenRa
DrawDialogBackground(new Rectangle(r.Right - 330, r.Top + 40, 310, r.Bottom - 273 - r.Top - 40), DrawDialogBackground(new Rectangle(r.Right - 330, r.Top + 40, 310, r.Bottom - 273 - r.Top - 40),
panelSprites, false); panelSprites, false);
Game.minimap.Update(); Game.world.Minimap.Update();
Game.minimap.Draw(new Rectangle(r.Right - 325, r.Top + 45, 300, 277), true); Game.world.Minimap.Draw(new Rectangle(r.Right - 325, r.Top + 45, 300, 277), true);
renderer.DrawText2("Name", new int2(r.Left + 30, r.Top + 50), Color.White); renderer.DrawText2("Name", new int2(r.Left + 30, r.Top + 50), Color.White);
renderer.DrawText2("Color", new int2(r.Left + 230, r.Top + 50), Color.White); renderer.DrawText2("Color", new int2(r.Left + 230, r.Top + 50), Color.White);
@@ -317,7 +317,7 @@ namespace OpenRa
if (radarAnimationFrame >= radarSlideAnimationLength) if (radarAnimationFrame >= radarSlideAnimationLength)
{ {
RectangleF mapRect = new RectangleF(radarOrigin.X + 9, radarOrigin.Y+(192-radarMinimapHeight)/2, 192, radarMinimapHeight); RectangleF mapRect = new RectangleF(radarOrigin.X + 9, radarOrigin.Y+(192-radarMinimapHeight)/2, 192, radarMinimapHeight);
Game.minimap.Draw(mapRect, false); Game.world.Minimap.Draw(mapRect, false);
} }
} }

View File

@@ -46,7 +46,6 @@ namespace OpenRa
static int2 clientSize; static int2 clientSize;
static HardwarePalette palette; static HardwarePalette palette;
static string mapName; static string mapName;
internal static Minimap minimap;
internal static Session LobbyInfo = new Session(); internal static Session LobbyInfo = new Session();
internal static int2[] SpawnPoints; internal static int2[] SpawnPoints;
static bool changePending; static bool changePending;
@@ -80,8 +79,6 @@ namespace OpenRa
SequenceProvider.Initialize(usingAftermath); SequenceProvider.Initialize(usingAftermath);
viewport = new Viewport(clientSize, Game.world.Map.Offset, Game.world.Map.Offset + Game.world.Map.Size, renderer); viewport = new Viewport(clientSize, Game.world.Map.Offset, Game.world.Map.Offset + Game.world.Map.Size, renderer);
minimap = new Minimap(renderer);
skipMakeAnims = true; skipMakeAnims = true;
foreach (var treeReference in Game.world.Map.Trees) foreach (var treeReference in Game.world.Map.Trees)
world.CreateActor(treeReference.Image, new int2(treeReference.Location), null); world.CreateActor(treeReference.Image, new int2(treeReference.Location), null);
@@ -167,9 +164,6 @@ namespace OpenRa
using (new PerfSample("tick_time")) using (new PerfSample("tick_time"))
{ {
lastTime += Settings.Timestep; lastTime += Settings.Timestep;
UpdatePalette(world.Actors.SelectMany(
a => a.traits.WithInterface<IPaletteModifier>()));
minimap.Update();
chrome.Tick(); chrome.Tick();
orderManager.TickImmediate(); orderManager.TickImmediate();
@@ -194,6 +188,8 @@ namespace OpenRa
using (new PerfSample("render")) using (new PerfSample("render"))
{ {
UpdatePalette(world.Actors.SelectMany(
a => a.traits.WithInterface<IPaletteModifier>()));
++RenderFrame; ++RenderFrame;
viewport.DrawRegions(); viewport.DrawRegions();
} }

View File

@@ -17,18 +17,18 @@ namespace OpenRa.Graphics
public void Tick() { } public void Tick() { }
public Minimap(Renderer r) public Minimap(World world, Renderer r)
{ {
sheet = new Sheet(r, new Size(128, 128)); sheet = new Sheet(r, new Size(128, 128));
mapOnlySheet = new Sheet(r, new Size(128, 128)); mapOnlySheet = new Sheet(r, new Size(128, 128));
rgbaRenderer = new SpriteRenderer(r, true, r.RgbaSpriteShader); rgbaRenderer = new SpriteRenderer(r, true, r.RgbaSpriteShader);
var size = Math.Max(Game.world.Map.Width, Game.world.Map.Height); var size = Math.Max(world.Map.Width, world.Map.Height);
var dw = (size - Game.world.Map.Width) / 2; var dw = (size - world.Map.Width) / 2;
var dh = (size - Game.world.Map.Height) / 2; var dh = (size - world.Map.Height) / 2;
sprite = new Sprite(sheet, new Rectangle(Game.world.Map.Offset.X+dw, Game.world.Map.Offset.Y+dh, size, size), TextureChannel.Alpha); sprite = new Sprite(sheet, new Rectangle(world.Map.Offset.X+dw, world.Map.Offset.Y+dh, size, size), TextureChannel.Alpha);
mapOnlySprite = new Sprite(mapOnlySheet, new Rectangle(Game.world.Map.Offset.X + dw, Game.world.Map.Offset.Y + dh, size, size), TextureChannel.Alpha); mapOnlySprite = new Sprite(mapOnlySheet, new Rectangle(world.Map.Offset.X + dw, world.Map.Offset.Y + dh, size, size), TextureChannel.Alpha);
} }
Color[] terrainTypeColors; Color[] terrainTypeColors;

View File

@@ -22,6 +22,7 @@ namespace OpenRa
public readonly TileSet TileSet; public readonly TileSet TileSet;
public readonly WorldRenderer WorldRenderer; public readonly WorldRenderer WorldRenderer;
internal readonly Minimap Minimap;
readonly int oreFrequency; readonly int oreFrequency;
int oreTicks; int oreTicks;
@@ -44,6 +45,7 @@ namespace OpenRa
CreateActor("World", new int2(int.MaxValue, int.MaxValue), null); CreateActor("World", new int2(int.MaxValue, int.MaxValue), null);
WorldRenderer = new WorldRenderer(this, Game.renderer); WorldRenderer = new WorldRenderer(this, Game.renderer);
Minimap = new Minimap(this, Game.renderer);
} }
public Actor CreateActor( string name, int2 location, Player owner ) public Actor CreateActor( string name, int2 location, Player owner )
@@ -81,7 +83,7 @@ namespace OpenRa
using( new PerfSample( "ore" ) ) using( new PerfSample( "ore" ) )
{ {
Map.GrowOre( Game.SharedRandom ); Map.GrowOre( Game.SharedRandom );
Game.minimap.InvalidateOre(); Game.world.Minimap.InvalidateOre();
oreTicks = oreFrequency; oreTicks = oreFrequency;
} }
@@ -95,6 +97,8 @@ namespace OpenRa
foreach (var a in acts) a(this); foreach (var a in acts) a(this);
UnitInfluence.Tick(); UnitInfluence.Tick();
Minimap.Update();
} }
public IEnumerable<Actor> Actors { get { return actors; } } public IEnumerable<Actor> Actors { get { return actors; } }