Remove obsolete IRenderAsTerrain.

This removes the technical limitation preventing
FrozenUnderFog on bridges.
This commit is contained in:
Paul Chote
2013-08-15 18:11:04 +12:00
parent 7278739e45
commit b6a033eef5
3 changed files with 3 additions and 8 deletions

View File

@@ -120,10 +120,6 @@ namespace OpenRA.Graphics
Game.Renderer.EnableScissor(bounds.Left, bounds.Top, bounds.Width, bounds.Height); Game.Renderer.EnableScissor(bounds.Left, bounds.Top, bounds.Width, bounds.Height);
terrainRenderer.Draw(this, Game.viewport); terrainRenderer.Draw(this, Game.viewport);
foreach (var a in world.traitDict.ActorsWithTraitMultiple<IRenderAsTerrain>(world))
foreach (var r in a.Trait.RenderAsTerrain(this, a.Actor))
r.Render(this);
Game.Renderer.Flush(); Game.Renderer.Flush();
for (var i = 0; i < renderables.Count; i++) for (var i = 0; i < renderables.Count; i++)

View File

@@ -192,7 +192,6 @@ namespace OpenRA.Traits
public interface IPostRender { void RenderAfterWorld(WorldRenderer wr, Actor self); } public interface IPostRender { void RenderAfterWorld(WorldRenderer wr, Actor self); }
public interface IPostRenderSelection { void RenderAfterWorld(WorldRenderer wr); } public interface IPostRenderSelection { void RenderAfterWorld(WorldRenderer wr); }
public interface IRenderAsTerrain { IEnumerable<IRenderable> RenderAsTerrain(WorldRenderer wr, Actor self); }
public interface IBodyOrientation public interface IBodyOrientation
{ {
WAngle CameraPitch { get; } WAngle CameraPitch { get; }

View File

@@ -67,7 +67,7 @@ namespace OpenRA.Mods.RA
} }
} }
class Bridge: IRenderAsTerrain, INotifyDamageStateChanged class Bridge: IRender, INotifyDamageStateChanged
{ {
ushort template; ushort template;
Dictionary<CPos, byte> footprint; Dictionary<CPos, byte> footprint;
@@ -125,12 +125,12 @@ namespace OpenRA.Mods.RA
{ {
return footprint.Select(c => (IRenderable)(new SpriteRenderable( return footprint.Select(c => (IRenderable)(new SpriteRenderable(
wr.Theater.TileSprite(new TileReference<ushort, byte>(template, c.Value)), wr.Theater.TileSprite(new TileReference<ushort, byte>(template, c.Value)),
c.Key.CenterPosition, WVec.Zero, 0, palette, 1f, true))).ToArray(); c.Key.CenterPosition, WVec.Zero, -512, palette, 1f, true))).ToArray();
} }
bool initialized; bool initialized;
Dictionary<ushort, IRenderable[]> renderables; Dictionary<ushort, IRenderable[]> renderables;
public IEnumerable<IRenderable> RenderAsTerrain(WorldRenderer wr, Actor self) public IEnumerable<IRenderable> Render(Actor self, WorldRenderer wr)
{ {
if (!initialized) if (!initialized)
{ {