diff --git a/OpenRA.Mods.RA/Render/RenderInfantry.cs b/OpenRA.Mods.RA/Render/RenderInfantry.cs index 2539f198ae..7399fcec9b 100644 --- a/OpenRA.Mods.RA/Render/RenderInfantry.cs +++ b/OpenRA.Mods.RA/Render/RenderInfantry.cs @@ -8,8 +8,10 @@ */ #endregion +using System.Collections.Generic; using System.Linq; using OpenRA.Mods.RA.Effects; +using OpenRA.Mods.RA.Graphics; using OpenRA.Graphics; using OpenRA.Traits; @@ -28,6 +30,18 @@ namespace OpenRA.Mods.RA.Render public override object Create(ActorInitializer init) { return new RenderInfantry(init.self, this); } + public override IEnumerable RenderPreviewSprites(ActorPreviewInitializer init, RenderSpritesInfo rs, string image, int facings, PaletteReference p) + { + var facing = 0; + var ifacing = init.Actor.Traits.GetOrDefault(); + if (ifacing != null) + facing = init.Contains() ? init.Get() : ifacing.GetInitialFacing(); + + var anim = new Animation(init.World, image, () => facing); + anim.PlayRepeating(StandAnimations.First()); + yield return new SpriteActorPreview(anim, WVec.Zero, 0, p, rs.Scale); + } + public override int QuantizedBodyFacings(SequenceProvider sequenceProvider, ActorInfo ai) { return sequenceProvider.GetSequence(RenderSprites.GetImage(ai), StandAnimations.First()).Facings;