Avoid or reduce LINQ allocations required in various areas.

This commit is contained in:
RoosterDragon
2020-10-11 11:46:39 +01:00
committed by abcdefg30
parent da53d5b776
commit bb116034c7
9 changed files with 31 additions and 24 deletions

View File

@@ -106,8 +106,10 @@ namespace OpenRA.Mods.Common.Traits.Render
if (!Info.Recoils)
return t.Position(self);
var recoilDist = arms.Aggregate(WDist.Zero, (a, b) => a + b.Recoil);
var recoil = new WVec(-recoilDist, WDist.Zero, WDist.Zero);
var recoilDist = 0;
foreach (var arm in arms)
recoilDist += arm.Recoil.Length;
var recoil = new WVec(new WDist(-recoilDist), WDist.Zero, WDist.Zero);
return t.Position(self) + body.LocalToWorld(recoil.Rotate(t.WorldOrientation));
}