Remove Minimap from world

This commit is contained in:
Paul Chote
2010-07-21 19:48:43 +12:00
parent 3a7bec1eef
commit d69267f71c
2 changed files with 13 additions and 11 deletions

View File

@@ -28,13 +28,16 @@ namespace OpenRA.Widgets
bool hasRadar = false; bool hasRadar = false;
string radarCollection; string radarCollection;
Minimap Minimap = null;
public override string GetCursor(int2 pos) public override string GetCursor(int2 pos)
{ {
if (Minimap == null)
return "default";
var mapRect = new RectangleF(radarOrigin.X + 9, radarOrigin.Y + (192 - radarMinimapHeight) / 2, var mapRect = new RectangleF(radarOrigin.X + 9, radarOrigin.Y + (192 - radarMinimapHeight) / 2,
192, radarMinimapHeight); 192, radarMinimapHeight);
var loc = Game.world.Minimap.MinimapPixelToCell(mapRect, pos); var loc = Minimap.MinimapPixelToCell(mapRect, pos);
var mi = new MouseInput var mi = new MouseInput
{ {
@@ -57,10 +60,10 @@ namespace OpenRA.Widgets
var mapRect = new RectangleF(radarOrigin.X + 9, radarOrigin.Y + (192 - radarMinimapHeight) / 2, var mapRect = new RectangleF(radarOrigin.X + 9, radarOrigin.Y + (192 - radarMinimapHeight) / 2,
192, radarMinimapHeight); 192, radarMinimapHeight);
if (!mapRect.Contains(mi.Location.ToPointF())) if (!mapRect.Contains(mi.Location.ToPointF()) || Minimap == null)
return false; return false;
var loc = Game.world.Minimap.MinimapPixelToCell(mapRect, mi.Location); var loc = Minimap.MinimapPixelToCell(mapRect, mi.Location);
if ((mi.Event == MouseInputEvent.Down || mi.Event == MouseInputEvent.Move) && mi.Button == MouseButton.Left) if ((mi.Event == MouseInputEvent.Down || mi.Event == MouseInputEvent.Move) && mi.Button == MouseButton.Left)
Game.viewport.Center(loc); Game.viewport.Center(loc);
@@ -114,17 +117,20 @@ namespace OpenRA.Widgets
Game.Renderer.RgbaSpriteRenderer.Flush(); Game.Renderer.RgbaSpriteRenderer.Flush();
if (Minimap == null)
Minimap = new Minimap(world);
if (radarAnimationFrame >= radarSlideAnimationLength) if (radarAnimationFrame >= radarSlideAnimationLength)
{ {
var mapRect = new RectangleF(radarOrigin.X + 9, radarOrigin.Y + (192 - radarMinimapHeight) / 2, 192, radarMinimapHeight); var mapRect = new RectangleF(radarOrigin.X + 9, radarOrigin.Y + (192 - radarMinimapHeight) / 2, 192, radarMinimapHeight);
world.Minimap.Draw(mapRect); Minimap.Draw(mapRect);
} }
} }
public override void Tick(World world) public override void Tick(World world)
{ {
if (world.LocalPlayer != null) if (world.LocalPlayer != null && Minimap != null)
world.Minimap.Update(); Minimap.Update();
if (!radarAnimating) if (!radarAnimating)
return; return;

View File

@@ -55,7 +55,6 @@ namespace OpenRA
public GlobalDefaultsInfo Defaults { get {return WorldActor.Info.Traits.Get<GlobalDefaultsInfo>();}} public GlobalDefaultsInfo Defaults { get {return WorldActor.Info.Traits.Get<GlobalDefaultsInfo>();}}
public readonly WorldRenderer WorldRenderer; public readonly WorldRenderer WorldRenderer;
internal readonly Minimap Minimap;
public World(Manifest manifest, Map map) public World(Manifest manifest, Map map)
{ {
@@ -104,9 +103,6 @@ namespace OpenRA
PathFinder = new PathFinder(this); PathFinder = new PathFinder(this);
Timer.Time( "hooks, pathing: {0}" ); Timer.Time( "hooks, pathing: {0}" );
Minimap = new Minimap(this);
Timer.Time( "minimap: {0}" );
Timer.Time( "----end World.ctor" ); Timer.Time( "----end World.ctor" );
} }