Add World parameter to Target.FromOrder.
This commit is contained in:
@@ -29,7 +29,7 @@ namespace OpenRA.Traits
|
||||
|
||||
public static Target FromPos(WPos p) { return new Target { pos = p, type = TargetType.Terrain }; }
|
||||
public static Target FromCell(CPos c) { return new Target { pos = c.CenterPosition, type = TargetType.Terrain }; }
|
||||
public static Target FromOrder(Order o)
|
||||
public static Target FromOrder(World w, Order o)
|
||||
{
|
||||
return o.TargetActor != null
|
||||
? FromActor(o.TargetActor)
|
||||
|
||||
@@ -43,7 +43,7 @@ namespace OpenRA.Mods.RA
|
||||
{
|
||||
// Not targeting a frozen actor
|
||||
if (order.ExtraData == 0)
|
||||
return Target.FromOrder(order);
|
||||
return Target.FromOrder(self.World, order);
|
||||
|
||||
// Targeted an actor under the fog
|
||||
var frozenLayer = self.Owner.PlayerActor.TraitOrDefault<FrozenActorLayer>();
|
||||
|
||||
@@ -71,7 +71,7 @@ namespace OpenRA.Mods.RA.Air
|
||||
|
||||
UnReserve();
|
||||
|
||||
self.SetTargetLine(Target.FromOrder(order), Color.Green);
|
||||
self.SetTargetLine(Target.FromOrder(self.World, order), Color.Green);
|
||||
|
||||
self.CancelActivity();
|
||||
self.QueueActivity(new ReturnToBase(self, order.TargetActor));
|
||||
|
||||
@@ -336,7 +336,7 @@ namespace OpenRA.Mods.RA
|
||||
|
||||
idleSmart = true;
|
||||
|
||||
self.SetTargetLine(Target.FromOrder(order), Color.Green);
|
||||
self.SetTargetLine(Target.FromOrder(self.World, order), Color.Green);
|
||||
|
||||
self.CancelActivity();
|
||||
self.QueueActivity(new DeliverResources());
|
||||
|
||||
@@ -76,7 +76,7 @@ namespace OpenRA.Mods.RA
|
||||
if (!CanEnter(order.TargetActor)) return;
|
||||
if (!IsCorrectCargoType(order.TargetActor)) return;
|
||||
|
||||
var target = Target.FromOrder(order);
|
||||
var target = Target.FromOrder(self.World, order);
|
||||
self.SetTargetLine(target, Color.Green);
|
||||
|
||||
self.CancelActivity();
|
||||
|
||||
@@ -69,11 +69,11 @@ namespace OpenRA.Mods.RA
|
||||
{
|
||||
if (order.OrderString == "Repair")
|
||||
{
|
||||
if( !CanRepairAt( order.TargetActor ) || !CanRepair() )
|
||||
if (!CanRepairAt(order.TargetActor) || !CanRepair())
|
||||
return;
|
||||
|
||||
var movement = self.Trait<IMove>();
|
||||
var target = Target.FromOrder(order);
|
||||
var target = Target.FromOrder(self.World, order);
|
||||
self.SetTargetLine(target, Color.Green);
|
||||
|
||||
self.CancelActivity();
|
||||
|
||||
@@ -65,7 +65,7 @@ namespace OpenRA.Mods.RA
|
||||
if (order.OrderString == "RepairNear" && CanRepairAt(order.TargetActor) && ShouldRepair())
|
||||
{
|
||||
var movement = self.Trait<IMove>();
|
||||
var target = Target.FromOrder(order);
|
||||
var target = Target.FromOrder(self.World, order);
|
||||
|
||||
self.CancelActivity();
|
||||
self.QueueActivity(movement.MoveWithinRange(target, new WRange(1024*info.CloseEnough)));
|
||||
|
||||
@@ -56,7 +56,7 @@ namespace OpenRA.Mods.RA
|
||||
if (bridge.BridgeDamageState == DamageState.Undamaged)
|
||||
return;
|
||||
|
||||
self.SetTargetLine(Target.FromOrder(order), Color.Yellow);
|
||||
self.SetTargetLine(Target.FromOrder(self.World, order), Color.Yellow);
|
||||
|
||||
self.CancelActivity();
|
||||
self.QueueActivity(new Enter(order.TargetActor, new RepairBridge(order.TargetActor)));
|
||||
|
||||
@@ -64,7 +64,7 @@ namespace OpenRA.Mods.RA
|
||||
});
|
||||
|
||||
a.CancelActivity();
|
||||
a.QueueActivity(new FlyAttack(Target.FromOrder(order)));
|
||||
a.QueueActivity(new FlyAttack(Target.FromOrder(self.World, order)));
|
||||
a.Trait<ParaDrop>().SetLZ(order.TargetLocation);
|
||||
|
||||
var cargo = a.Trait<Cargo>();
|
||||
|
||||
Reference in New Issue
Block a user