Account for infantry in actor previews.
This commit is contained in:
@@ -8,8 +8,10 @@
|
|||||||
*/
|
*/
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using OpenRA.Mods.RA.Effects;
|
using OpenRA.Mods.RA.Effects;
|
||||||
|
using OpenRA.Mods.RA.Graphics;
|
||||||
using OpenRA.Graphics;
|
using OpenRA.Graphics;
|
||||||
using OpenRA.Traits;
|
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 object Create(ActorInitializer init) { return new RenderInfantry(init.self, this); }
|
||||||
|
|
||||||
|
public override IEnumerable<IActorPreview> RenderPreviewSprites(ActorPreviewInitializer init, RenderSpritesInfo rs, string image, int facings, PaletteReference p)
|
||||||
|
{
|
||||||
|
var facing = 0;
|
||||||
|
var ifacing = init.Actor.Traits.GetOrDefault<IFacingInfo>();
|
||||||
|
if (ifacing != null)
|
||||||
|
facing = init.Contains<FacingInit>() ? init.Get<FacingInit, int>() : 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)
|
public override int QuantizedBodyFacings(SequenceProvider sequenceProvider, ActorInfo ai)
|
||||||
{
|
{
|
||||||
return sequenceProvider.GetSequence(RenderSprites.GetImage(ai), StandAnimations.First()).Facings;
|
return sequenceProvider.GetSequence(RenderSprites.GetImage(ai), StandAnimations.First()).Facings;
|
||||||
|
|||||||
Reference in New Issue
Block a user