don't look up IFacing (twice!) every frame for every actor with RenderUnit; fixes #1054
This commit is contained in:
@@ -21,8 +21,15 @@ namespace OpenRA.Mods.RA.Render
|
|||||||
|
|
||||||
public class RenderUnit : RenderSimple
|
public class RenderUnit : RenderSimple
|
||||||
{
|
{
|
||||||
|
static Func<int> MakeFacingFunc(Actor self)
|
||||||
|
{
|
||||||
|
var facing = self.TraitOrDefault<IFacing>();
|
||||||
|
if (facing == null) return () => 0;
|
||||||
|
return () => facing.Facing;
|
||||||
|
}
|
||||||
|
|
||||||
public RenderUnit(Actor self)
|
public RenderUnit(Actor self)
|
||||||
: base(self, () => self.HasTrait<IFacing>() ? self.Trait<IFacing>().Facing : 0)
|
: base(self, MakeFacingFunc(self))
|
||||||
{
|
{
|
||||||
anim.PlayRepeating("idle");
|
anim.PlayRepeating("idle");
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user