factor out some hardcoded constants from various Heli activities
This commit is contained in:
@@ -27,8 +27,6 @@ namespace OpenRA.Traits.Activities
|
||||
class HeliAttack : IActivity
|
||||
{
|
||||
Actor target;
|
||||
const int CruiseAltitude = 20;
|
||||
const int AvoidDist = 80;
|
||||
public HeliAttack( Actor target ) { this.target = target; }
|
||||
|
||||
public IActivity NextActivity { get; set; }
|
||||
@@ -44,9 +42,10 @@ namespace OpenRA.Traits.Activities
|
||||
|
||||
var unit = self.traits.Get<Unit>();
|
||||
|
||||
if (unit.Altitude != CruiseAltitude)
|
||||
var info = self.Info.Traits.Get<HelicopterInfo>();
|
||||
if (unit.Altitude != info.CruiseAltitude)
|
||||
{
|
||||
unit.Altitude += Math.Sign(CruiseAltitude - unit.Altitude);
|
||||
unit.Altitude += Math.Sign(info.CruiseAltitude - unit.Altitude);
|
||||
return this;
|
||||
}
|
||||
|
||||
@@ -61,7 +60,7 @@ namespace OpenRA.Traits.Activities
|
||||
if (!float2.WithinEpsilon(float2.Zero, dist, range * Game.CellSize))
|
||||
self.CenterLocation += (rawSpeed / dist.Length) * dist;
|
||||
|
||||
var otherHelis = self.World.FindUnitsInCircle(self.CenterLocation, AvoidDist)
|
||||
var otherHelis = self.World.FindUnitsInCircle(self.CenterLocation, info.IdealSeparation)
|
||||
.Where(a => a.traits.Contains<Helicopter>());
|
||||
|
||||
var f = otherHelis
|
||||
|
||||
@@ -25,7 +25,6 @@ namespace OpenRA.Traits.Activities
|
||||
{
|
||||
class HeliFly : IActivity
|
||||
{
|
||||
const int CruiseAltitude = 20;
|
||||
readonly float2 Dest;
|
||||
public HeliFly(float2 dest)
|
||||
{
|
||||
@@ -41,10 +40,11 @@ namespace OpenRA.Traits.Activities
|
||||
return NextActivity;
|
||||
|
||||
var unit = self.traits.Get<Unit>();
|
||||
var info = self.Info.Traits.Get<HelicopterInfo>();
|
||||
|
||||
if (unit.Altitude != CruiseAltitude)
|
||||
if (unit.Altitude != info.CruiseAltitude)
|
||||
{
|
||||
unit.Altitude += Math.Sign(CruiseAltitude - unit.Altitude);
|
||||
unit.Altitude += Math.Sign(info.CruiseAltitude - unit.Altitude);
|
||||
return this;
|
||||
}
|
||||
|
||||
|
||||
@@ -29,6 +29,8 @@ namespace OpenRA.Traits
|
||||
{
|
||||
public readonly string[] RepairBuildings = { "fix" };
|
||||
public readonly string[] RearmBuildings = { "hpad" };
|
||||
public readonly int CruiseAltitude = 20;
|
||||
public readonly int IdealSeparation = 80;
|
||||
public object Create(Actor self) { return new Helicopter(self); }
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user