Remove separate AircraftInfo caching from ReturnToBase
This extra info caching was overkill and most likely had zero effect on performance.
This commit is contained in:
@@ -21,7 +21,6 @@ namespace OpenRA.Mods.Common.Activities
|
|||||||
public class ReturnToBase : Activity
|
public class ReturnToBase : Activity
|
||||||
{
|
{
|
||||||
readonly Aircraft aircraft;
|
readonly Aircraft aircraft;
|
||||||
readonly AircraftInfo aircraftInfo;
|
|
||||||
readonly RepairableInfo repairableInfo;
|
readonly RepairableInfo repairableInfo;
|
||||||
readonly Rearmable rearmable;
|
readonly Rearmable rearmable;
|
||||||
readonly bool alwaysLand;
|
readonly bool alwaysLand;
|
||||||
@@ -36,7 +35,6 @@ namespace OpenRA.Mods.Common.Activities
|
|||||||
this.alwaysLand = alwaysLand;
|
this.alwaysLand = alwaysLand;
|
||||||
this.abortOnResupply = abortOnResupply;
|
this.abortOnResupply = abortOnResupply;
|
||||||
aircraft = self.Trait<Aircraft>();
|
aircraft = self.Trait<Aircraft>();
|
||||||
aircraftInfo = self.Info.TraitInfo<AircraftInfo>();
|
|
||||||
repairableInfo = self.Info.TraitInfoOrDefault<RepairableInfo>();
|
repairableInfo = self.Info.TraitInfoOrDefault<RepairableInfo>();
|
||||||
rearmable = self.TraitOrDefault<Rearmable>();
|
rearmable = self.TraitOrDefault<Rearmable>();
|
||||||
}
|
}
|
||||||
@@ -56,7 +54,7 @@ namespace OpenRA.Mods.Common.Activities
|
|||||||
|
|
||||||
int CalculateTurnRadius(int speed)
|
int CalculateTurnRadius(int speed)
|
||||||
{
|
{
|
||||||
return 45 * speed / aircraftInfo.TurnSpeed;
|
return 45 * speed / aircraft.Info.TurnSpeed;
|
||||||
}
|
}
|
||||||
|
|
||||||
void Calculate(Actor self)
|
void Calculate(Actor self)
|
||||||
@@ -68,10 +66,10 @@ namespace OpenRA.Mods.Common.Activities
|
|||||||
return;
|
return;
|
||||||
|
|
||||||
var landPos = dest.CenterPosition;
|
var landPos = dest.CenterPosition;
|
||||||
var altitude = aircraftInfo.CruiseAltitude.Length;
|
var altitude = aircraft.Info.CruiseAltitude.Length;
|
||||||
|
|
||||||
// Distance required for descent.
|
// Distance required for descent.
|
||||||
var landDistance = altitude * 1024 / aircraftInfo.MaximumPitch.Tan();
|
var landDistance = altitude * 1024 / aircraft.Info.MaximumPitch.Tan();
|
||||||
|
|
||||||
// Land towards the east
|
// Land towards the east
|
||||||
var approachStart = landPos + new WVec(-landDistance, 0, altitude);
|
var approachStart = landPos + new WVec(-landDistance, 0, altitude);
|
||||||
@@ -155,7 +153,7 @@ namespace OpenRA.Mods.Common.Activities
|
|||||||
|
|
||||||
List<Activity> landingProcedures = new List<Activity>();
|
List<Activity> landingProcedures = new List<Activity>();
|
||||||
|
|
||||||
var turnRadius = CalculateTurnRadius(aircraftInfo.Speed);
|
var turnRadius = CalculateTurnRadius(aircraft.Info.Speed);
|
||||||
|
|
||||||
landingProcedures.Add(new Fly(self, Target.FromPos(w1), WDist.Zero, new WDist(turnRadius * 3)));
|
landingProcedures.Add(new Fly(self, Target.FromPos(w1), WDist.Zero, new WDist(turnRadius * 3)));
|
||||||
landingProcedures.Add(new Fly(self, Target.FromPos(w2)));
|
landingProcedures.Add(new Fly(self, Target.FromPos(w2)));
|
||||||
|
|||||||
Reference in New Issue
Block a user