From f9ac59b452d6ad5dfd6be510594d3271470d0776 Mon Sep 17 00:00:00 2001 From: Chris Forbes Date: Thu, 15 Apr 2010 22:04:44 +1200 Subject: [PATCH] reenable spawnpoint indicators; moved spawnpoint rendering code into MapPreviewWidget --- OpenRA.Game/Chrome.cs | 27 --------------------- OpenRA.Game/Widgets/MapPreviewWidget.cs | 31 +++++++++++++++++++++++-- 2 files changed, 29 insertions(+), 29 deletions(-) diff --git a/OpenRA.Game/Chrome.cs b/OpenRA.Game/Chrome.cs index d50747b916..dfd34f2887 100644 --- a/OpenRA.Game/Chrome.cs +++ b/OpenRA.Game/Chrome.cs @@ -345,33 +345,6 @@ namespace OpenRA } public void DrawWidgets(World world) { rootWidget.Draw(world); shpRenderer.Flush(); rgbaRenderer.Flush(); } - public void DrawSpawnPoints(MapStub map, Rectangle container) - { - var points = map.Waypoints; - // .Select( (sp,i) => Pair.New(sp, Game.LobbyInfo.Clients.FirstOrDefault( - // c => c.SpawnPoint == i + 1 ) )) - // .ToList(); - - foreach (var p in points) - { - var pos = map.ConvertToPreview(p.Value,container); - - //if (p.Second == null) - rgbaRenderer.DrawSprite(ChromeProvider.GetImage(renderer, "spawnpoints", "unowned"), pos, "chrome"); - //else - //{ - // lineRenderer.FillRect(new RectangleF( - // Game.viewport.Location.X + pos.X + 2, - // Game.viewport.Location.Y + pos.Y + 2, - // 12, 12), Player.PlayerColors[ p.Second.PaletteIndex % Player.PlayerColors.Count() ].c); - // - // rgbaRenderer.DrawSprite(ownedSpawnPoint, pos, "chrome"); - //} - } - - lineRenderer.Flush(); - rgbaRenderer.Flush(); - } public void DrawLobby() { diff --git a/OpenRA.Game/Widgets/MapPreviewWidget.cs b/OpenRA.Game/Widgets/MapPreviewWidget.cs index f5ef5bf569..b8b0231223 100755 --- a/OpenRA.Game/Widgets/MapPreviewWidget.cs +++ b/OpenRA.Game/Widgets/MapPreviewWidget.cs @@ -12,7 +12,6 @@ namespace OpenRA.Widgets { Sheet mapChooserSheet; Sprite mapChooserSprite; - bool showMapChooser = false; bool mapPreviewDirty = true; MapStub lastMap; @@ -44,8 +43,36 @@ namespace OpenRA.Widgets "chrome", new float2( mapRect.Size ) ); - Game.chrome.DrawSpawnPoints( map, Parent.Bounds ); + DrawSpawnPoints( map, Parent.Bounds, world ); base.Draw( world ); } + + void DrawSpawnPoints(MapStub map, Rectangle container, World world) + { + var points = map.Waypoints + .Select((sp, i) => Pair.New(sp, Game.LobbyInfo.Clients.FirstOrDefault( + c => c.SpawnPoint == i + 1))) + .ToList(); + + foreach (var p in points) + { + var pos = map.ConvertToPreview(p.First.Value, container); + + if (p.Second == null) + Game.chrome.renderer.RgbaSpriteRenderer.DrawSprite( + ChromeProvider.GetImage(Game.chrome.renderer, "spawnpoints", "unowned"), pos, "chrome"); + else + { + var playerColors = Player.PlayerColors(world); + Game.chrome.lineRenderer.FillRect(new RectangleF( + Game.viewport.Location.X + pos.X + 2, + Game.viewport.Location.Y + pos.Y + 2, + 12, 12), playerColors[p.Second.PaletteIndex % playerColors.Count()].c); + + Game.chrome.renderer.RgbaSpriteRenderer.DrawSprite( + ChromeProvider.GetImage(Game.chrome.renderer, "spawnpoints", "owned"), pos, "chrome"); + } + } + } } }