diff --git a/OpenRA.Mods.RA/Air/Aircraft.cs b/OpenRA.Mods.RA/Air/Aircraft.cs index 9240cb9b3e..90e4285b56 100755 --- a/OpenRA.Mods.RA/Air/Aircraft.cs +++ b/OpenRA.Mods.RA/Air/Aircraft.cs @@ -166,7 +166,7 @@ namespace OpenRA.Mods.RA.Air { get { - yield return new EnterOrderTargeter("Enter", 5, false, true, + yield return new EnterAlliedActorTargeter("Enter", 5, target => AircraftCanEnter(target), target => !Reservable.IsReserved(target)); yield return new AircraftMoveOrderTargeter(); diff --git a/OpenRA.Mods.RA/Harvester.cs b/OpenRA.Mods.RA/Harvester.cs index a2126cda1d..692d3bfe81 100644 --- a/OpenRA.Mods.RA/Harvester.cs +++ b/OpenRA.Mods.RA/Harvester.cs @@ -239,7 +239,8 @@ namespace OpenRA.Mods.RA { get { - yield return new EnterOrderTargeter("Deliver", 5, false, true, _ => true, proc => !IsEmpty && proc.Trait().AllowDocking); + yield return new EnterAlliedActorTargeter("Deliver", 5, _ => true, + proc => !IsEmpty && proc.Trait().AllowDocking); yield return new HarvestOrderTargeter(); } } diff --git a/OpenRA.Mods.RA/OpenRA.Mods.RA.csproj b/OpenRA.Mods.RA/OpenRA.Mods.RA.csproj index 3bf6aed2f6..6f78829aae 100644 --- a/OpenRA.Mods.RA/OpenRA.Mods.RA.csproj +++ b/OpenRA.Mods.RA/OpenRA.Mods.RA.csproj @@ -282,7 +282,6 @@ - @@ -465,6 +464,7 @@ + diff --git a/OpenRA.Mods.RA/Orders/EnterBuildingOrderTargeter.cs b/OpenRA.Mods.RA/Orders/EnterAlliedActorTargeter.cs similarity index 82% rename from OpenRA.Mods.RA/Orders/EnterBuildingOrderTargeter.cs rename to OpenRA.Mods.RA/Orders/EnterAlliedActorTargeter.cs index f8792a1871..6d0b77f49e 100755 --- a/OpenRA.Mods.RA/Orders/EnterBuildingOrderTargeter.cs +++ b/OpenRA.Mods.RA/Orders/EnterAlliedActorTargeter.cs @@ -14,14 +14,14 @@ using OpenRA.Traits; namespace OpenRA.Mods.RA.Orders { - public class EnterOrderTargeter : UnitOrderTargeter + public class EnterAlliedActorTargeter : UnitOrderTargeter { readonly Func canTarget; readonly Func useEnterCursor; - public EnterOrderTargeter(string order, int priority, bool targetEnemy, bool targetAlly, + public EnterAlliedActorTargeter(string order, int priority, Func canTarget, Func useEnterCursor) - : base (order, priority, "enter", targetEnemy, targetAlly) + : base (order, priority, "enter", false, true) { this.canTarget = canTarget; this.useEnterCursor = useEnterCursor; @@ -38,7 +38,7 @@ namespace OpenRA.Mods.RA.Orders public override bool CanTargetFrozenActor(Actor self, FrozenActor target, TargetModifiers modifiers, ref string cursor) { - // TODO: Not yet supported + // Allied actors are never frozen return false; } } diff --git a/OpenRA.Mods.RA/Passenger.cs b/OpenRA.Mods.RA/Passenger.cs index 7a4c9fc6b8..b9e06883fe 100644 --- a/OpenRA.Mods.RA/Passenger.cs +++ b/OpenRA.Mods.RA/Passenger.cs @@ -35,8 +35,8 @@ namespace OpenRA.Mods.RA { get { - yield return new EnterOrderTargeter( "EnterTransport", 6, false, true, - target => IsCorrectCargoType( target ), target => CanEnter( target ) ); + yield return new EnterAlliedActorTargeter("EnterTransport", 6, + target => IsCorrectCargoType(target), target => CanEnter(target)); } } diff --git a/OpenRA.Mods.RA/Repairable.cs b/OpenRA.Mods.RA/Repairable.cs index 35b1e8bc9c..1fb9c2b5a9 100644 --- a/OpenRA.Mods.RA/Repairable.cs +++ b/OpenRA.Mods.RA/Repairable.cs @@ -38,7 +38,8 @@ namespace OpenRA.Mods.RA public IEnumerable Orders { - get { yield return new EnterOrderTargeter( "Repair", 5, false, true, target => CanRepairAt( target ), _ => CanRepair() ); } + get { yield return new EnterAlliedActorTargeter("Repair", 5, + target => CanRepairAt(target), _ => CanRepair()); } } public Order IssueOrder( Actor self, IOrderTargeter order, Target target, bool queued ) diff --git a/OpenRA.Mods.RA/RepairableNear.cs b/OpenRA.Mods.RA/RepairableNear.cs index 132d001278..e8e209f71a 100644 --- a/OpenRA.Mods.RA/RepairableNear.cs +++ b/OpenRA.Mods.RA/RepairableNear.cs @@ -38,8 +38,8 @@ namespace OpenRA.Mods.RA { get { - yield return new EnterOrderTargeter( "RepairNear", 5, false, true, - target => CanRepairAt( target ), _ => ShouldRepair() ); + yield return new EnterAlliedActorTargeter("RepairNear", 5, + target => CanRepairAt(target), _ => ShouldRepair()); } }