Merge Plane and Helicopter into Aircraft
This commit is contained in:
@@ -17,14 +17,14 @@ namespace OpenRA.Mods.Common.Activities
|
||||
{
|
||||
public class Fly : Activity
|
||||
{
|
||||
readonly Plane plane;
|
||||
readonly Aircraft plane;
|
||||
readonly Target target;
|
||||
readonly WDist maxRange;
|
||||
readonly WDist minRange;
|
||||
|
||||
public Fly(Actor self, Target t)
|
||||
{
|
||||
plane = self.Trait<Plane>();
|
||||
plane = self.Trait<Aircraft>();
|
||||
target = t;
|
||||
}
|
||||
|
||||
@@ -35,7 +35,7 @@ namespace OpenRA.Mods.Common.Activities
|
||||
this.minRange = minRange;
|
||||
}
|
||||
|
||||
public static void FlyToward(Actor self, Plane plane, int desiredFacing, WDist desiredAltitude)
|
||||
public static void FlyToward(Actor self, Aircraft plane, int desiredFacing, WDist desiredAltitude)
|
||||
{
|
||||
desiredAltitude = new WDist(plane.CenterPosition.Z) + desiredAltitude - self.World.Map.DistanceAboveTerrain(plane.CenterPosition);
|
||||
|
||||
|
||||
@@ -10,18 +10,17 @@
|
||||
|
||||
using OpenRA.Activities;
|
||||
using OpenRA.Mods.Common.Traits;
|
||||
using OpenRA.Traits;
|
||||
|
||||
namespace OpenRA.Mods.Common.Activities
|
||||
{
|
||||
public class FlyCircle : Activity
|
||||
{
|
||||
readonly Plane plane;
|
||||
readonly Aircraft plane;
|
||||
readonly WDist cruiseAltitude;
|
||||
|
||||
public FlyCircle(Actor self)
|
||||
{
|
||||
plane = self.Trait<Plane>();
|
||||
plane = self.Trait<Aircraft>();
|
||||
cruiseAltitude = plane.Info.CruiseAltitude;
|
||||
}
|
||||
|
||||
|
||||
@@ -17,14 +17,14 @@ namespace OpenRA.Mods.Common.Activities
|
||||
public class FlyFollow : Activity
|
||||
{
|
||||
Target target;
|
||||
Plane plane;
|
||||
Aircraft plane;
|
||||
WDist minRange;
|
||||
WDist maxRange;
|
||||
|
||||
public FlyFollow(Actor self, Target target, WDist minRange, WDist maxRange)
|
||||
{
|
||||
this.target = target;
|
||||
plane = self.Trait<Plane>();
|
||||
plane = self.Trait<Aircraft>();
|
||||
this.minRange = minRange;
|
||||
this.maxRange = maxRange;
|
||||
}
|
||||
|
||||
@@ -10,17 +10,16 @@
|
||||
|
||||
using OpenRA.Activities;
|
||||
using OpenRA.Mods.Common.Traits;
|
||||
using OpenRA.Traits;
|
||||
|
||||
namespace OpenRA.Mods.Common.Activities
|
||||
{
|
||||
public class FlyOffMap : Activity
|
||||
{
|
||||
readonly Plane plane;
|
||||
readonly Aircraft plane;
|
||||
|
||||
public FlyOffMap(Actor self)
|
||||
{
|
||||
plane = self.Trait<Plane>();
|
||||
plane = self.Trait<Aircraft>();
|
||||
}
|
||||
|
||||
public override Activity Tick(Actor self)
|
||||
|
||||
@@ -10,20 +10,19 @@
|
||||
|
||||
using OpenRA.Activities;
|
||||
using OpenRA.Mods.Common.Traits;
|
||||
using OpenRA.Traits;
|
||||
|
||||
namespace OpenRA.Mods.Common.Activities
|
||||
{
|
||||
public class FlyTimed : Activity
|
||||
{
|
||||
readonly Plane plane;
|
||||
readonly Aircraft plane;
|
||||
readonly WDist cruiseAltitude;
|
||||
int remainingTicks;
|
||||
|
||||
public FlyTimed(int ticks, Actor self)
|
||||
{
|
||||
remainingTicks = ticks;
|
||||
plane = self.Trait<Plane>();
|
||||
plane = self.Trait<Aircraft>();
|
||||
cruiseAltitude = plane.Info.CruiseAltitude;
|
||||
}
|
||||
|
||||
|
||||
@@ -8,7 +8,6 @@
|
||||
*/
|
||||
#endregion
|
||||
|
||||
using System.Collections.Generic;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using OpenRA.Activities;
|
||||
@@ -19,7 +18,7 @@ namespace OpenRA.Mods.Common.Activities
|
||||
{
|
||||
public class HeliAttack : Activity
|
||||
{
|
||||
readonly Helicopter helicopter;
|
||||
readonly Aircraft helicopter;
|
||||
readonly AttackHeli attackHeli;
|
||||
readonly AmmoPool[] ammoPools;
|
||||
readonly bool attackOnlyVisibleTargets;
|
||||
@@ -44,7 +43,7 @@ namespace OpenRA.Mods.Common.Activities
|
||||
public HeliAttack(Actor self, Target target, bool attackOnlyVisibleTargets = true)
|
||||
{
|
||||
Target = target;
|
||||
helicopter = self.Trait<Helicopter>();
|
||||
helicopter = self.Trait<Aircraft>();
|
||||
attackHeli = self.Trait<AttackHeli>();
|
||||
ammoPools = self.TraitsImplementing<AmmoPool>().ToArray();
|
||||
this.attackOnlyVisibleTargets = attackOnlyVisibleTargets;
|
||||
|
||||
@@ -17,7 +17,7 @@ namespace OpenRA.Mods.Common.Activities
|
||||
{
|
||||
public class HeliFly : Activity
|
||||
{
|
||||
readonly Helicopter helicopter;
|
||||
readonly Aircraft helicopter;
|
||||
readonly Target target;
|
||||
readonly WDist maxRange;
|
||||
readonly WDist minRange;
|
||||
@@ -25,7 +25,7 @@ namespace OpenRA.Mods.Common.Activities
|
||||
|
||||
public HeliFly(Actor self, Target t)
|
||||
{
|
||||
helicopter = self.Trait<Helicopter>();
|
||||
helicopter = self.Trait<Aircraft>();
|
||||
target = t;
|
||||
}
|
||||
|
||||
@@ -36,7 +36,7 @@ namespace OpenRA.Mods.Common.Activities
|
||||
this.minRange = minRange;
|
||||
}
|
||||
|
||||
public static bool AdjustAltitude(Actor self, Helicopter helicopter, WDist targetAltitude)
|
||||
public static bool AdjustAltitude(Actor self, Aircraft helicopter, WDist targetAltitude)
|
||||
{
|
||||
targetAltitude = new WDist(helicopter.CenterPosition.Z) + targetAltitude - self.World.Map.DistanceAboveTerrain(helicopter.CenterPosition);
|
||||
|
||||
@@ -105,9 +105,9 @@ namespace OpenRA.Mods.Common.Activities
|
||||
|
||||
public class HeliFlyAndLandWhenIdle : HeliFly
|
||||
{
|
||||
private readonly HelicopterInfo info;
|
||||
private readonly AircraftInfo info;
|
||||
|
||||
public HeliFlyAndLandWhenIdle(Actor self, Target t, HelicopterInfo info)
|
||||
public HeliFlyAndLandWhenIdle(Actor self, Target t, AircraftInfo info)
|
||||
: base(self, t)
|
||||
{
|
||||
this.info = info;
|
||||
|
||||
@@ -8,8 +8,6 @@
|
||||
*/
|
||||
#endregion
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using OpenRA.Activities;
|
||||
using OpenRA.Mods.Common.Traits;
|
||||
using OpenRA.Traits;
|
||||
@@ -18,11 +16,11 @@ namespace OpenRA.Mods.Common.Activities
|
||||
{
|
||||
public class HeliFlyCircle : Activity
|
||||
{
|
||||
readonly Helicopter helicopter;
|
||||
readonly Aircraft helicopter;
|
||||
|
||||
public HeliFlyCircle(Actor self)
|
||||
{
|
||||
helicopter = self.Trait<Helicopter>();
|
||||
helicopter = self.Trait<Aircraft>();
|
||||
}
|
||||
|
||||
public override Activity Tick(Actor self)
|
||||
|
||||
@@ -15,14 +15,14 @@ namespace OpenRA.Mods.Common.Activities
|
||||
{
|
||||
public class HeliLand : Activity
|
||||
{
|
||||
readonly Helicopter helicopter;
|
||||
readonly Aircraft helicopter;
|
||||
bool requireSpace;
|
||||
bool playedSound;
|
||||
|
||||
public HeliLand(Actor self, bool requireSpace)
|
||||
{
|
||||
this.requireSpace = requireSpace;
|
||||
helicopter = self.Trait<Helicopter>();
|
||||
helicopter = self.Trait<Aircraft>();
|
||||
}
|
||||
|
||||
public override Activity Tick(Actor self)
|
||||
|
||||
@@ -17,11 +17,11 @@ namespace OpenRA.Mods.Common.Activities
|
||||
{
|
||||
public class HeliReturn : Activity
|
||||
{
|
||||
readonly Helicopter heli;
|
||||
readonly Aircraft heli;
|
||||
|
||||
public HeliReturn(Actor self)
|
||||
{
|
||||
heli = self.Trait<Helicopter>();
|
||||
heli = self.Trait<Aircraft>();
|
||||
}
|
||||
|
||||
public Actor ChooseHelipad(Actor self)
|
||||
|
||||
@@ -17,12 +17,12 @@ namespace OpenRA.Mods.Common.Activities
|
||||
public class Land : Activity
|
||||
{
|
||||
readonly Target target;
|
||||
readonly Plane plane;
|
||||
readonly Aircraft plane;
|
||||
|
||||
public Land(Actor self, Target t)
|
||||
{
|
||||
target = t;
|
||||
plane = self.Trait<Plane>();
|
||||
plane = self.Trait<Aircraft>();
|
||||
}
|
||||
|
||||
public override Activity Tick(Actor self)
|
||||
|
||||
@@ -18,8 +18,8 @@ namespace OpenRA.Mods.Common.Activities
|
||||
{
|
||||
public class ReturnToBase : Activity
|
||||
{
|
||||
readonly Plane plane;
|
||||
readonly PlaneInfo planeInfo;
|
||||
readonly Aircraft plane;
|
||||
readonly AircraftInfo planeInfo;
|
||||
bool isCalculated;
|
||||
Actor dest;
|
||||
WPos w1, w2, w3;
|
||||
@@ -27,13 +27,13 @@ namespace OpenRA.Mods.Common.Activities
|
||||
public ReturnToBase(Actor self, Actor dest = null)
|
||||
{
|
||||
this.dest = dest;
|
||||
plane = self.Trait<Plane>();
|
||||
planeInfo = self.Info.TraitInfo<PlaneInfo>();
|
||||
plane = self.Trait<Aircraft>();
|
||||
planeInfo = self.Info.TraitInfo<AircraftInfo>();
|
||||
}
|
||||
|
||||
public static Actor ChooseAirfield(Actor self, bool unreservedOnly)
|
||||
{
|
||||
var rearmBuildings = self.Info.TraitInfo<PlaneInfo>().RearmBuildings;
|
||||
var rearmBuildings = self.Info.TraitInfo<AircraftInfo>().RearmBuildings;
|
||||
return self.World.ActorsWithTrait<Reservable>()
|
||||
.Where(a => a.Actor.Owner == self.Owner)
|
||||
.Where(a => rearmBuildings.Contains(a.Actor.Info.Name)
|
||||
@@ -94,7 +94,6 @@ namespace OpenRA.Mods.Common.Activities
|
||||
w1 = posCenter + tangentOffset;
|
||||
w2 = approachCenter + tangentOffset;
|
||||
w3 = approachStart;
|
||||
plane.RTBPathHash = w1 + (WVec)w2 + (WVec)w3;
|
||||
|
||||
isCalculated = true;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user