Rename and tweak post-render interfaces.
This commit is contained in:
@@ -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(); }
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user