From 7429c8ef89a79a905ede6a4590fba411f634e573 Mon Sep 17 00:00:00 2001 From: Chris Forbes Date: Tue, 19 Jul 2011 18:39:45 +1200 Subject: [PATCH] don't look up IFacing (twice!) every frame for every actor with RenderUnit; fixes #1054 --- OpenRA.Mods.RA/Render/RenderUnit.cs | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/OpenRA.Mods.RA/Render/RenderUnit.cs b/OpenRA.Mods.RA/Render/RenderUnit.cs index 6f371c4d3a..b3562aced2 100644 --- a/OpenRA.Mods.RA/Render/RenderUnit.cs +++ b/OpenRA.Mods.RA/Render/RenderUnit.cs @@ -21,8 +21,15 @@ 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, () => self.HasTrait() ? self.Trait().Facing : 0) + : base(self, MakeFacingFunc(self)) { anim.PlayRepeating("idle"); }