Make the non-support of frozen actor targeting in EnterOrderTargeter explicit.
This commit is contained in:
@@ -166,7 +166,7 @@ namespace OpenRA.Mods.RA.Air
|
|||||||
{
|
{
|
||||||
get
|
get
|
||||||
{
|
{
|
||||||
yield return new EnterOrderTargeter<Building>("Enter", 5, false, true,
|
yield return new EnterAlliedActorTargeter<Building>("Enter", 5,
|
||||||
target => AircraftCanEnter(target), target => !Reservable.IsReserved(target));
|
target => AircraftCanEnter(target), target => !Reservable.IsReserved(target));
|
||||||
|
|
||||||
yield return new AircraftMoveOrderTargeter();
|
yield return new AircraftMoveOrderTargeter();
|
||||||
|
|||||||
@@ -239,7 +239,8 @@ namespace OpenRA.Mods.RA
|
|||||||
{
|
{
|
||||||
get
|
get
|
||||||
{
|
{
|
||||||
yield return new EnterOrderTargeter<IAcceptOre>("Deliver", 5, false, true, _ => true, proc => !IsEmpty && proc.Trait<IAcceptOre>().AllowDocking);
|
yield return new EnterAlliedActorTargeter<IAcceptOre>("Deliver", 5, _ => true,
|
||||||
|
proc => !IsEmpty && proc.Trait<IAcceptOre>().AllowDocking);
|
||||||
yield return new HarvestOrderTargeter();
|
yield return new HarvestOrderTargeter();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -282,7 +282,6 @@
|
|||||||
<Compile Include="NullLoadScreen.cs" />
|
<Compile Include="NullLoadScreen.cs" />
|
||||||
<Compile Include="LoadWidgetAtGameStart.cs" />
|
<Compile Include="LoadWidgetAtGameStart.cs" />
|
||||||
<Compile Include="Orders\DeployOrderTargeter.cs" />
|
<Compile Include="Orders\DeployOrderTargeter.cs" />
|
||||||
<Compile Include="Orders\EnterBuildingOrderTargeter.cs" />
|
|
||||||
<Compile Include="Orders\PlaceBuildingOrderGenerator.cs" />
|
<Compile Include="Orders\PlaceBuildingOrderGenerator.cs" />
|
||||||
<Compile Include="Orders\PowerDownOrderGenerator.cs" />
|
<Compile Include="Orders\PowerDownOrderGenerator.cs" />
|
||||||
<Compile Include="Orders\RepairOrderGenerator.cs" />
|
<Compile Include="Orders\RepairOrderGenerator.cs" />
|
||||||
@@ -465,6 +464,7 @@
|
|||||||
<Compile Include="Widgets\Logic\WorldTooltipLogic.cs" />
|
<Compile Include="Widgets\Logic\WorldTooltipLogic.cs" />
|
||||||
<Compile Include="TeslaZapRenderable.cs" />
|
<Compile Include="TeslaZapRenderable.cs" />
|
||||||
<Compile Include="Buildings\Bib.cs" />
|
<Compile Include="Buildings\Bib.cs" />
|
||||||
|
<Compile Include="Orders\EnterAlliedActorTargeter.cs" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ProjectReference Include="..\OpenRA.FileFormats\OpenRA.FileFormats.csproj">
|
<ProjectReference Include="..\OpenRA.FileFormats\OpenRA.FileFormats.csproj">
|
||||||
|
|||||||
@@ -14,14 +14,14 @@ using OpenRA.Traits;
|
|||||||
|
|
||||||
namespace OpenRA.Mods.RA.Orders
|
namespace OpenRA.Mods.RA.Orders
|
||||||
{
|
{
|
||||||
public class EnterOrderTargeter<T> : UnitOrderTargeter
|
public class EnterAlliedActorTargeter<T> : UnitOrderTargeter
|
||||||
{
|
{
|
||||||
readonly Func<Actor, bool> canTarget;
|
readonly Func<Actor, bool> canTarget;
|
||||||
readonly Func<Actor, bool> useEnterCursor;
|
readonly Func<Actor, bool> useEnterCursor;
|
||||||
|
|
||||||
public EnterOrderTargeter(string order, int priority, bool targetEnemy, bool targetAlly,
|
public EnterAlliedActorTargeter(string order, int priority,
|
||||||
Func<Actor, bool> canTarget, Func<Actor, bool> useEnterCursor)
|
Func<Actor, bool> canTarget, Func<Actor, bool> useEnterCursor)
|
||||||
: base (order, priority, "enter", targetEnemy, targetAlly)
|
: base (order, priority, "enter", false, true)
|
||||||
{
|
{
|
||||||
this.canTarget = canTarget;
|
this.canTarget = canTarget;
|
||||||
this.useEnterCursor = useEnterCursor;
|
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)
|
public override bool CanTargetFrozenActor(Actor self, FrozenActor target, TargetModifiers modifiers, ref string cursor)
|
||||||
{
|
{
|
||||||
// TODO: Not yet supported
|
// Allied actors are never frozen
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -35,8 +35,8 @@ namespace OpenRA.Mods.RA
|
|||||||
{
|
{
|
||||||
get
|
get
|
||||||
{
|
{
|
||||||
yield return new EnterOrderTargeter<Cargo>( "EnterTransport", 6, false, true,
|
yield return new EnterAlliedActorTargeter<Cargo>("EnterTransport", 6,
|
||||||
target => IsCorrectCargoType( target ), target => CanEnter( target ) );
|
target => IsCorrectCargoType(target), target => CanEnter(target));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -38,7 +38,8 @@ namespace OpenRA.Mods.RA
|
|||||||
|
|
||||||
public IEnumerable<IOrderTargeter> Orders
|
public IEnumerable<IOrderTargeter> Orders
|
||||||
{
|
{
|
||||||
get { yield return new EnterOrderTargeter<Building>( "Repair", 5, false, true, target => CanRepairAt( target ), _ => CanRepair() ); }
|
get { yield return new EnterAlliedActorTargeter<Building>("Repair", 5,
|
||||||
|
target => CanRepairAt(target), _ => CanRepair()); }
|
||||||
}
|
}
|
||||||
|
|
||||||
public Order IssueOrder( Actor self, IOrderTargeter order, Target target, bool queued )
|
public Order IssueOrder( Actor self, IOrderTargeter order, Target target, bool queued )
|
||||||
|
|||||||
@@ -38,8 +38,8 @@ namespace OpenRA.Mods.RA
|
|||||||
{
|
{
|
||||||
get
|
get
|
||||||
{
|
{
|
||||||
yield return new EnterOrderTargeter<Building>( "RepairNear", 5, false, true,
|
yield return new EnterAlliedActorTargeter<Building>("RepairNear", 5,
|
||||||
target => CanRepairAt( target ), _ => ShouldRepair() );
|
target => CanRepairAt(target), _ => ShouldRepair());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user