Begin refactoring Shroud. ShroudRenderer is now internal to WorldRenderer; all traits interact with Shroud directly. Gives soft-edges at the map border for free, but breaks shellmap and observers.

This commit is contained in:
Paul Chote
2010-11-26 15:11:25 +13:00
parent b423889c06
commit 41fd19c766
7 changed files with 73 additions and 59 deletions

View File

@@ -21,6 +21,8 @@ namespace OpenRA.Graphics
{
public readonly World world;
internal readonly TerrainRenderer terrainRenderer;
internal readonly ShroudRenderer shroudRenderer;
public readonly UiOverlay uiOverlay;
internal readonly HardwarePalette palette;
@@ -29,6 +31,7 @@ namespace OpenRA.Graphics
this.world = world;
terrainRenderer = new TerrainRenderer(world, this);
shroudRenderer = new ShroudRenderer(world.WorldActor.Trait<Shroud>(), world.Map);
uiOverlay = new UiOverlay();
palette = new HardwarePalette(world.Map);
@@ -110,9 +113,7 @@ namespace OpenRA.Graphics
if (world.OrderGenerator != null)
world.OrderGenerator.RenderAfterWorld(this, world);
if (world.LocalPlayer != null)
world.LocalPlayer.Shroud.Draw( this );
shroudRenderer.Draw( this );
Game.Renderer.DisableScissor();
foreach (var a in world.Selection.Actors)