Cache trait look-ups in the constructor where possible for Air activities/traits

This commit is contained in:
reaperrr
2015-03-14 03:59:37 +01:00
parent 9a780ba07d
commit 1e9d1a6cb7
22 changed files with 160 additions and 93 deletions

View File

@@ -16,16 +16,23 @@ namespace OpenRA.Mods.Common.Activities
{
public class FlyCircle : Activity
{
readonly Plane plane;
readonly WRange cruiseAltitude;
public FlyCircle(Actor self)
{
plane = self.Trait<Plane>();
cruiseAltitude = plane.Info.CruiseAltitude;
}
public override Activity Tick(Actor self)
{
if (IsCanceled)
return NextActivity;
var plane = self.Trait<Plane>();
// We can't possibly turn this fast
var desiredFacing = plane.Facing + 64;
Fly.FlyToward(self, plane, desiredFacing, plane.Info.CruiseAltitude);
Fly.FlyToward(self, plane, desiredFacing, cruiseAltitude);
return this;
}