From 77d03ce1e1c34c346b75a7bb3cb06dab5535209c Mon Sep 17 00:00:00 2001 From: reaperrr Date: Sat, 4 Aug 2018 23:57:01 +0200 Subject: [PATCH] Replace Airfield/Helipad references with generic Resupplier in RTB activities More generalization to prepare for possible future activity merger. --- .../Activities/Air/HeliReturnToBase.cs | 16 ++++++++-------- .../Activities/Air/ReturnToBase.cs | 10 +++++----- OpenRA.Mods.Common/Traits/Air/ReturnOnIdle.cs | 6 +++--- 3 files changed, 16 insertions(+), 16 deletions(-) diff --git a/OpenRA.Mods.Common/Activities/Air/HeliReturnToBase.cs b/OpenRA.Mods.Common/Activities/Air/HeliReturnToBase.cs index 385469e69f..5a65f23249 100644 --- a/OpenRA.Mods.Common/Activities/Air/HeliReturnToBase.cs +++ b/OpenRA.Mods.Common/Activities/Air/HeliReturnToBase.cs @@ -31,7 +31,7 @@ namespace OpenRA.Mods.Common.Activities this.dest = dest; } - public Actor ChooseHelipad(Actor self, bool unreservedOnly) + public Actor ChooseResupplier(Actor self, bool unreservedOnly) { var rearmBuildings = aircraft.Info.RearmBuildings; return self.World.Actors.Where(a => a.Owner == self.Owner @@ -51,36 +51,36 @@ namespace OpenRA.Mods.Common.Activities return NextActivity; if (dest == null || dest.IsDead || Reservable.IsReserved(dest)) - dest = ChooseHelipad(self, true); + dest = ChooseResupplier(self, true); var initialFacing = aircraft.Info.InitialFacing; if (dest == null || dest.IsDead) { - var nearestHpad = ChooseHelipad(self, false); + var nearestResupplier = ChooseResupplier(self, false); // If a heli was told to return and there's no (available) RearmBuilding, going to the probable next queued activity (HeliAttack) // would be pointless (due to lack of ammo), and possibly even lead to an infinite loop due to HeliAttack.cs:L79. - if (nearestHpad == null && aircraft.Info.LandWhenIdle) + if (nearestResupplier == null && aircraft.Info.LandWhenIdle) { if (aircraft.Info.TurnToLand) return ActivityUtils.SequenceActivities(new Turn(self, initialFacing), new HeliLand(self, true)); return new HeliLand(self, true); } - else if (nearestHpad == null && !aircraft.Info.LandWhenIdle) + else if (nearestResupplier == null && !aircraft.Info.LandWhenIdle) return null; else { - var distanceFromHelipad = (nearestHpad.CenterPosition - self.CenterPosition).HorizontalLength; + var distanceFromResupplier = (nearestResupplier.CenterPosition - self.CenterPosition).HorizontalLength; var distanceLength = aircraft.Info.WaitDistanceFromResupplyBase.Length; // If no pad is available, move near one and wait - if (distanceFromHelipad > distanceLength) + if (distanceFromResupplier > distanceLength) { var randomPosition = WVec.FromPDF(self.World.SharedRandom, 2) * distanceLength / 1024; - var target = Target.FromPos(nearestHpad.CenterPosition + randomPosition); + var target = Target.FromPos(nearestResupplier.CenterPosition + randomPosition); return ActivityUtils.SequenceActivities(new HeliFly(self, target, WDist.Zero, aircraft.Info.WaitDistanceFromResupplyBase), this); } diff --git a/OpenRA.Mods.Common/Activities/Air/ReturnToBase.cs b/OpenRA.Mods.Common/Activities/Air/ReturnToBase.cs index e9371c6697..1224c77135 100644 --- a/OpenRA.Mods.Common/Activities/Air/ReturnToBase.cs +++ b/OpenRA.Mods.Common/Activities/Air/ReturnToBase.cs @@ -37,7 +37,7 @@ namespace OpenRA.Mods.Common.Activities aircraftInfo = self.Info.TraitInfo(); } - public static Actor ChooseAirfield(Actor self, bool unreservedOnly) + public static Actor ChooseResupplier(Actor self, bool unreservedOnly) { var rearmBuildings = self.Info.TraitInfo().RearmBuildings; return self.World.ActorsHavingTrait() @@ -50,7 +50,7 @@ namespace OpenRA.Mods.Common.Activities void Calculate(Actor self) { if (dest == null || dest.IsDead || Reservable.IsReserved(dest)) - dest = ChooseAirfield(self, true); + dest = ChooseResupplier(self, true); if (dest == null) return; @@ -123,11 +123,11 @@ namespace OpenRA.Mods.Common.Activities if (dest == null || dest.IsDead) { - var nearestAfld = ChooseAirfield(self, false); + var nearestResupplier = ChooseResupplier(self, false); - if (nearestAfld != null) + if (nearestResupplier != null) return ActivityUtils.SequenceActivities( - new Fly(self, Target.FromActor(nearestAfld), WDist.Zero, aircraft.Info.WaitDistanceFromResupplyBase), + new Fly(self, Target.FromActor(nearestResupplier), WDist.Zero, aircraft.Info.WaitDistanceFromResupplyBase), new FlyCircle(self, aircraft.Info.NumberOfTicksToVerifyAvailableAirport), this); else diff --git a/OpenRA.Mods.Common/Traits/Air/ReturnOnIdle.cs b/OpenRA.Mods.Common/Traits/Air/ReturnOnIdle.cs index 95c866ef22..182232cf9c 100644 --- a/OpenRA.Mods.Common/Traits/Air/ReturnOnIdle.cs +++ b/OpenRA.Mods.Common/Traits/Air/ReturnOnIdle.cs @@ -36,10 +36,10 @@ namespace OpenRA.Mods.Common.Traits if (self.World.Map.DistanceAboveTerrain(self.CenterPosition).Length < aircraftInfo.MinAirborneAltitude) return; - var airfield = ReturnToBase.ChooseAirfield(self, true); - if (airfield != null) + var resupplier = ReturnToBase.ChooseResupplier(self, true); + if (resupplier != null) { - self.QueueActivity(new ReturnToBase(self, aircraftInfo.AbortOnResupply, airfield)); + self.QueueActivity(new ReturnToBase(self, aircraftInfo.AbortOnResupply, resupplier)); self.QueueActivity(new ResupplyAircraft(self)); } else