From 9b3a73860c857e32455f05ce6da78a2f54396924 Mon Sep 17 00:00:00 2001 From: Paul Chote Date: Mon, 21 Jul 2014 17:56:58 +1200 Subject: [PATCH] Account for infantry in actor previews. --- OpenRA.Mods.RA/Render/RenderInfantry.cs | 14 ++++++++++++++ 1 file changed, 14 insertions(+) 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;