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
|
||||
{
|
||||
yield return new EnterOrderTargeter<Building>("Enter", 5, false, true,
|
||||
yield return new EnterAlliedActorTargeter<Building>("Enter", 5,
|
||||
target => AircraftCanEnter(target), target => !Reservable.IsReserved(target));
|
||||
|
||||
yield return new AircraftMoveOrderTargeter();
|
||||
|
||||
@@ -239,7 +239,8 @@ namespace OpenRA.Mods.RA
|
||||
{
|
||||
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();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -282,7 +282,6 @@
|
||||
<Compile Include="NullLoadScreen.cs" />
|
||||
<Compile Include="LoadWidgetAtGameStart.cs" />
|
||||
<Compile Include="Orders\DeployOrderTargeter.cs" />
|
||||
<Compile Include="Orders\EnterBuildingOrderTargeter.cs" />
|
||||
<Compile Include="Orders\PlaceBuildingOrderGenerator.cs" />
|
||||
<Compile Include="Orders\PowerDownOrderGenerator.cs" />
|
||||
<Compile Include="Orders\RepairOrderGenerator.cs" />
|
||||
@@ -465,6 +464,7 @@
|
||||
<Compile Include="Widgets\Logic\WorldTooltipLogic.cs" />
|
||||
<Compile Include="TeslaZapRenderable.cs" />
|
||||
<Compile Include="Buildings\Bib.cs" />
|
||||
<Compile Include="Orders\EnterAlliedActorTargeter.cs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\OpenRA.FileFormats\OpenRA.FileFormats.csproj">
|
||||
|
||||
@@ -14,14 +14,14 @@ using OpenRA.Traits;
|
||||
|
||||
namespace OpenRA.Mods.RA.Orders
|
||||
{
|
||||
public class EnterOrderTargeter<T> : UnitOrderTargeter
|
||||
public class EnterAlliedActorTargeter<T> : UnitOrderTargeter
|
||||
{
|
||||
readonly Func<Actor, bool> canTarget;
|
||||
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)
|
||||
: 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;
|
||||
}
|
||||
}
|
||||
@@ -35,7 +35,7 @@ namespace OpenRA.Mods.RA
|
||||
{
|
||||
get
|
||||
{
|
||||
yield return new EnterOrderTargeter<Cargo>( "EnterTransport", 6, false, true,
|
||||
yield return new EnterAlliedActorTargeter<Cargo>("EnterTransport", 6,
|
||||
target => IsCorrectCargoType(target), target => CanEnter(target));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -38,7 +38,8 @@ namespace OpenRA.Mods.RA
|
||||
|
||||
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 )
|
||||
|
||||
@@ -38,7 +38,7 @@ namespace OpenRA.Mods.RA
|
||||
{
|
||||
get
|
||||
{
|
||||
yield return new EnterOrderTargeter<Building>( "RepairNear", 5, false, true,
|
||||
yield return new EnterAlliedActorTargeter<Building>("RepairNear", 5,
|
||||
target => CanRepairAt(target), _ => ShouldRepair());
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user