From 865f3e1b742d4b17c9b79804616ca5719b685591 Mon Sep 17 00:00:00 2001 From: Chris Forbes Date: Sat, 16 Apr 2011 10:59:33 +1200 Subject: [PATCH] factor out resupply activity queueing for plane/heli into aircraft --- OpenRA.Mods.RA/Air/Aircraft.cs | 10 ++++++++++ OpenRA.Mods.RA/Air/Helicopter.cs | 9 +++------ OpenRA.Mods.RA/Air/Plane.cs | 10 +++------- 3 files changed, 16 insertions(+), 13 deletions(-) diff --git a/OpenRA.Mods.RA/Air/Aircraft.cs b/OpenRA.Mods.RA/Air/Aircraft.cs index 806f1e3a42..9f306c8bdc 100755 --- a/OpenRA.Mods.RA/Air/Aircraft.cs +++ b/OpenRA.Mods.RA/Air/Aircraft.cs @@ -13,6 +13,7 @@ using System.Collections.Generic; using System.Linq; using OpenRA.Traits; using OpenRA.FileFormats; +using OpenRA.Mods.RA.Activities; namespace OpenRA.Mods.RA.Air { @@ -173,5 +174,14 @@ namespace OpenRA.Mods.RA.Air var type = self.World.GetTerrainType(cell); return Info.LandableTerrainTypes.Contains(type); } + + public void QueueResupplyActivities(Actor a) + { + var name = a.Info.Name; + if (Info.RearmBuildings.Contains(name)) + self.QueueActivity(new Rearm()); + if (Info.RepairBuildings.Contains(name)) + self.QueueActivity(new Repair(a)); + } } } diff --git a/OpenRA.Mods.RA/Air/Helicopter.cs b/OpenRA.Mods.RA/Air/Helicopter.cs index e43d3f418d..1c58e9d77a 100755 --- a/OpenRA.Mods.RA/Air/Helicopter.cs +++ b/OpenRA.Mods.RA/Air/Helicopter.cs @@ -103,12 +103,9 @@ namespace OpenRA.Mods.RA.Air self.CancelActivity(); self.QueueActivity(new HeliFly(order.TargetActor.Trait().PxPosition + offset)); self.QueueActivity(new Turn(Info.InitialFacing)); - self.QueueActivity(new HeliLand(false)); - - if (Info.RearmBuildings.Contains(order.TargetActor.Info.Name)) - self.QueueActivity( new Rearm() ); - if (Info.RepairBuildings.Contains(order.TargetActor.Info.Name)) - self.QueueActivity( new Repair( order.TargetActor )); + self.QueueActivity(new HeliLand(false)); + + QueueResupplyActivities(order.TargetActor); } if (order.OrderString == "Stop") diff --git a/OpenRA.Mods.RA/Air/Plane.cs b/OpenRA.Mods.RA/Air/Plane.cs index 627a9c79ff..4c913bf19d 100755 --- a/OpenRA.Mods.RA/Air/Plane.cs +++ b/OpenRA.Mods.RA/Air/Plane.cs @@ -98,16 +98,12 @@ namespace OpenRA.Mods.RA.Air UnReserve(); - var info = self.Info.Traits.Get(); self.SetTargetLine(Target.FromOrder(order), Color.Green); self.CancelActivity(); - self.QueueActivity(new ReturnToBase(self, order.TargetActor)); - - if (info.RearmBuildings.Contains(order.TargetActor.Info.Name)) - self.QueueActivity( new Rearm() ); - if (info.RepairBuildings.Contains(order.TargetActor.Info.Name)) - self.QueueActivity( new Repair( order.TargetActor )); + self.QueueActivity(new ReturnToBase(self, order.TargetActor)); + + QueueResupplyActivities(order.TargetActor); } else if (order.OrderString == "Stop") {