Pass WorldRenderer to RenderAsTerrain for palette lookup.

This commit is contained in:
Paul Chote
2013-02-25 17:46:28 +13:00
parent 5b360a7fe2
commit f890ea010e
3 changed files with 12 additions and 4 deletions

View File

@@ -135,10 +135,18 @@ namespace OpenRA.Mods.RA
return bridges.GetBridge(self.Location + new CVec(offset[0], offset[1]));
}
public IEnumerable<Renderable> RenderAsTerrain(Actor self)
bool initializePalettes = true;
PaletteReference terrainPalette;
public IEnumerable<Renderable> RenderAsTerrain(WorldRenderer wr, Actor self)
{
if (initializePalettes)
{
terrainPalette = wr.Palette("terrain");
initializePalettes = false;
}
foreach (var t in TileSprites[currentTemplate])
yield return new Renderable(t.Value, t.Key.ToPPos().ToFloat2(), PaletteReference.FromName("terrain"), Game.CellSize * t.Key.Y);
yield return new Renderable(t.Value, t.Key.ToPPos().ToFloat2(), terrainPalette, Game.CellSize * t.Key.Y);
}
bool IsIntact(Bridge b)