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)
{

View File

@@ -35,7 +35,7 @@ namespace OpenRA.Traits
public interface ITick { void Tick(Actor self); }
public interface ITickRender { void TickRender(WorldRenderer wr, Actor self); }
public interface IRender { IEnumerable<Renderable> Render(Actor self, WorldRenderer wr); }
public interface IRender { IEnumerable<IRenderable> Render(Actor self, WorldRenderer wr); }
public interface IAutoSelectionSize { int2 SelectionSize(Actor self); }
public interface IIssueOrder
@@ -116,7 +116,7 @@ namespace OpenRA.Traits
}
public interface INotifyAttack { void Attacking(Actor self, Target target); }
public interface IRenderModifier { IEnumerable<Renderable> ModifyRender(Actor self, WorldRenderer wr, IEnumerable<Renderable> r); }
public interface IRenderModifier { IEnumerable<IRenderable> ModifyRender(Actor self, WorldRenderer wr, IEnumerable<IRenderable> r); }
public interface IDamageModifier { float GetDamageModifier(Actor attacker, WarheadInfo warhead); }
public interface ISpeedModifier { decimal GetSpeedModifier(); }
public interface IFirepowerModifier { float GetFirepowerModifier(); }
@@ -179,7 +179,7 @@ namespace OpenRA.Traits
public interface IPostRenderSelection { void RenderAfterWorld(WorldRenderer wr); }
public interface IPreRenderSelection { void RenderBeforeWorld(WorldRenderer wr, Actor self); }
public interface IRenderAsTerrain { IEnumerable<Renderable> RenderAsTerrain(WorldRenderer wr, Actor self); }
public interface IRenderAsTerrain { IEnumerable<IRenderable> RenderAsTerrain(WorldRenderer wr, Actor self); }
public interface ILocalCoordinatesModel
{
WVec LocalToWorld(WVec vec);