reenable spawnpoint indicators; moved spawnpoint rendering code into MapPreviewWidget
This commit is contained in:
@@ -345,33 +345,6 @@ namespace OpenRA
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void DrawWidgets(World world) { rootWidget.Draw(world); shpRenderer.Flush(); rgbaRenderer.Flush(); }
|
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()
|
public void DrawLobby()
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -12,7 +12,6 @@ namespace OpenRA.Widgets
|
|||||||
{
|
{
|
||||||
Sheet mapChooserSheet;
|
Sheet mapChooserSheet;
|
||||||
Sprite mapChooserSprite;
|
Sprite mapChooserSprite;
|
||||||
bool showMapChooser = false;
|
|
||||||
bool mapPreviewDirty = true;
|
bool mapPreviewDirty = true;
|
||||||
MapStub lastMap;
|
MapStub lastMap;
|
||||||
|
|
||||||
@@ -44,8 +43,36 @@ namespace OpenRA.Widgets
|
|||||||
"chrome",
|
"chrome",
|
||||||
new float2( mapRect.Size ) );
|
new float2( mapRect.Size ) );
|
||||||
|
|
||||||
Game.chrome.DrawSpawnPoints( map, Parent.Bounds );
|
DrawSpawnPoints( map, Parent.Bounds, world );
|
||||||
base.Draw( 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");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user