Split Renderable into an IRenderable interface and SpriteRenderable implementation.

This commit is contained in:
Paul Chote
2013-05-12 23:07:39 +12:00
parent 9b7aaebcbc
commit ca5f2c3785
41 changed files with 140 additions and 120 deletions

View File

@@ -28,7 +28,7 @@ namespace OpenRA.Mods.RA.Render
public readonly WVec Origin = WVec.Zero;
public override object Create(ActorInitializer init) { return new RenderBuilding(init, this);}
public override IEnumerable<Renderable> RenderPreview(ActorInfo building, PaletteReference pr)
public override IEnumerable<IRenderable> RenderPreview(ActorInfo building, PaletteReference pr)
{
return base.RenderPreview(building, pr).Select(a => a.WithPos(a.Pos + Origin));
}
@@ -65,7 +65,7 @@ namespace OpenRA.Mods.RA.Render
self.QueueActivity(new CallFunc(() => Complete(self)));
}
public IEnumerable<Renderable> ModifyRender(Actor self, WorldRenderer wr, IEnumerable<Renderable> r)
public IEnumerable<IRenderable> ModifyRender(Actor self, WorldRenderer wr, IEnumerable<IRenderable> r)
{
var disabled = self.IsDisabled();
foreach (var a in r)

View File

@@ -20,12 +20,12 @@ namespace OpenRA.Mods.RA.Render
public override object Create(ActorInitializer init) { return new RenderBuildingWarFactory( init, this ); }
/* get around unverifiability */
IEnumerable<Renderable> BaseBuildingPreview(ActorInfo building, PaletteReference pr)
IEnumerable<IRenderable> BaseBuildingPreview(ActorInfo building, PaletteReference pr)
{
return base.RenderPreview(building, pr);
}
public override IEnumerable<Renderable> RenderPreview(ActorInfo building, PaletteReference pr)
public override IEnumerable<IRenderable> RenderPreview(ActorInfo building, PaletteReference pr)
{
var p = BaseBuildingPreview(building, pr);
foreach (var r in p)
@@ -33,7 +33,7 @@ namespace OpenRA.Mods.RA.Render
var anim = new Animation(RenderSimple.GetImage(building), () => 0);
anim.PlayRepeating("idle-top");
yield return new Renderable(anim.Image, WPos.Zero + Origin, 0, pr, 1f);
yield return new SpriteRenderable(anim.Image, WPos.Zero + Origin, 0, pr, 1f);
}
}

View File

@@ -23,7 +23,7 @@ namespace OpenRA.Mods.RA.Render
{
public RenderEditorOnly(Actor self) : base(self, () => 0) { }
static readonly Renderable[] Nothing = { };
public override IEnumerable<Renderable> Render(Actor self, WorldRenderer wr) { return Nothing; }
static readonly IRenderable[] Nothing = { };
public override IEnumerable<IRenderable> Render(Actor self, WorldRenderer wr) { return Nothing; }
}
}

View File

@@ -59,7 +59,7 @@ namespace OpenRA.Mods.RA.Render
mf.Animation.PlayThen("muzzle", () => isShowing = false);
}
public IEnumerable<Renderable> Render(Actor self, WorldRenderer wr)
public IEnumerable<IRenderable> Render(Actor self, WorldRenderer wr)
{
foreach (var a in muzzleFlashes.Values)
if (a.DisableFunc == null || !a.DisableFunc())

View File

@@ -22,7 +22,7 @@ namespace OpenRA.Mods.RA.Render
class WithShadow : IRenderModifier
{
public IEnumerable<Renderable> ModifyRender(Actor self, WorldRenderer wr, IEnumerable<Renderable> r)
public IEnumerable<IRenderable> ModifyRender(Actor self, WorldRenderer wr, IEnumerable<IRenderable> r)
{
var move = self.Trait<IMove>();