reenable spawnpoint indicators; moved spawnpoint rendering code into MapPreviewWidget

This commit is contained in:
Chris Forbes
2010-04-15 22:04:44 +12:00
parent 8ee3785c2e
commit f9ac59b452
2 changed files with 29 additions and 29 deletions

View File

@@ -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()
{

View File

@@ -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");
}
}
}
}
}