Rename and tweak post-render interfaces.

This commit is contained in:
Paul Chote
2016-08-22 16:50:49 +01:00
parent f1990853df
commit 11805bb567
24 changed files with 129 additions and 143 deletions

View File

@@ -55,17 +55,15 @@ namespace OpenRA.Mods.Common.Traits.Render
public override object Create(ActorInitializer init) { return new WithDecoration(init.Self, this); }
}
public class WithDecoration : UpgradableTrait<WithDecorationInfo>, ITick, IRender, IPostRenderSelection
public class WithDecoration : UpgradableTrait<WithDecorationInfo>, ITick, IRender, IRenderAboveShroudWhenSelected
{
protected readonly Animation Anim;
readonly string image;
readonly Actor self;
public WithDecoration(Actor self, WithDecorationInfo info)
: base(info)
{
this.self = self;
image = info.Image ?? self.Info.Name;
Anim = new Animation(self.World, image, () => self.World.Paused);
Anim.PlayRepeating(info.Sequence);
@@ -73,14 +71,14 @@ namespace OpenRA.Mods.Common.Traits.Render
public virtual bool ShouldRender(Actor self) { return true; }
public IEnumerable<IRenderable> Render(Actor self, WorldRenderer wr)
IEnumerable<IRenderable> IRender.Render(Actor self, WorldRenderer wr)
{
return !Info.RequiresSelection ? RenderInner(self, wr) : Enumerable.Empty<IRenderable>();
return !Info.RequiresSelection ? RenderInner(self, wr) : SpriteRenderable.None;
}
public IEnumerable<IRenderable> RenderAfterWorld(WorldRenderer wr)
IEnumerable<IRenderable> IRenderAboveShroudWhenSelected.RenderAboveShroud(Actor self, WorldRenderer wr)
{
return Info.RequiresSelection ? RenderInner(self, wr) : Enumerable.Empty<IRenderable>();
return Info.RequiresSelection ? RenderInner(self, wr) : SpriteRenderable.None;
}
IEnumerable<IRenderable> RenderInner(Actor self, WorldRenderer wr)
@@ -129,6 +127,6 @@ namespace OpenRA.Mods.Common.Traits.Render
return new IRenderable[] { new UISpriteRenderable(Anim.Image, self.CenterPosition, pxPos, Info.ZOffset, wr.Palette(Info.Palette), 1f) };
}
public void Tick(Actor self) { Anim.Tick(); }
void ITick.Tick(Actor self) { Anim.Tick(); }
}
}