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

@@ -34,12 +34,12 @@ namespace OpenRA.Traits
public readonly WAngle CameraPitch = WAngle.FromDegrees(40);
public virtual object Create(ActorInitializer init) { return new RenderSimple(init.self); }
public virtual IEnumerable<Renderable> RenderPreview(ActorInfo ai, PaletteReference pr)
public virtual IEnumerable<IRenderable> RenderPreview(ActorInfo ai, PaletteReference pr)
{
var anim = new Animation(RenderSimple.GetImage(ai), () => 0);
anim.PlayRepeating("idle");
yield return new Renderable(anim.Image, WPos.Zero, 0, pr, 1f);
yield return new SpriteRenderable(anim.Image, WPos.Zero, 0, pr, 1f);
}
}
@@ -99,7 +99,7 @@ namespace OpenRA.Traits
protected void UpdatePalette() { initializePalette = true; }
public void OnOwnerChanged(Actor self, Player oldOwner, Player newOwner) { UpdatePalette(); }
public virtual IEnumerable<Renderable> Render(Actor self, WorldRenderer wr)
public virtual IEnumerable<IRenderable> Render(Actor self, WorldRenderer wr)
{
if (initializePalette)
{