diff --git a/OpenRA.Game/Traits/Render/RenderSimple.cs b/OpenRA.Game/Traits/Render/RenderSimple.cs index 3dd89760cb..3836e7e747 100755 --- a/OpenRA.Game/Traits/Render/RenderSimple.cs +++ b/OpenRA.Game/Traits/Render/RenderSimple.cs @@ -34,6 +34,13 @@ namespace OpenRA.Traits { public Dictionary anims = new Dictionary(); + public static Func MakeFacingFunc(Actor self) + { + var facing = self.TraitOrDefault(); + if (facing == null) return () => 0; + return () => facing.Facing; + } + public Animation anim { get { return anims[""].Animation; } diff --git a/OpenRA.Mods.RA/Render/RenderInfantry.cs b/OpenRA.Mods.RA/Render/RenderInfantry.cs index 7e5a6e8767..d1f68b92ac 100644 --- a/OpenRA.Mods.RA/Render/RenderInfantry.cs +++ b/OpenRA.Mods.RA/Render/RenderInfantry.cs @@ -41,6 +41,7 @@ namespace OpenRA.Mods.RA.Render RenderInfantryInfo Info; string idleSequence; int idleDelay; + Mobile mobile; protected virtual string NormalizeInfantrySequence(Actor self, string baseSequence) { @@ -53,9 +54,9 @@ namespace OpenRA.Mods.RA.Render } public AnimationState State { get; private set; } - Mobile mobile; + public RenderInfantry(Actor self, RenderInfantryInfo info) - : base(self, () => self.Trait().Facing) + : base(self, RenderSimple.MakeFacingFunc(self)) { Info = info; anim.PlayFetchIndex(NormalizeInfantrySequence(self, "stand"), () => 0); diff --git a/OpenRA.Mods.RA/Render/RenderUnit.cs b/OpenRA.Mods.RA/Render/RenderUnit.cs index b3562aced2..7b0656cffe 100644 --- a/OpenRA.Mods.RA/Render/RenderUnit.cs +++ b/OpenRA.Mods.RA/Render/RenderUnit.cs @@ -21,15 +21,8 @@ namespace OpenRA.Mods.RA.Render public class RenderUnit : RenderSimple { - static Func MakeFacingFunc(Actor self) - { - var facing = self.TraitOrDefault(); - if (facing == null) return () => 0; - return () => facing.Facing; - } - public RenderUnit(Actor self) - : base(self, MakeFacingFunc(self)) + : base(self, RenderSimple.MakeFacingFunc(self)) { anim.PlayRepeating("idle"); }