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 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 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
|
return o.TargetActor != null
|
||||||
? FromActor(o.TargetActor)
|
? FromActor(o.TargetActor)
|
||||||
|
|||||||
@@ -43,7 +43,7 @@ namespace OpenRA.Mods.RA
|
|||||||
{
|
{
|
||||||
// Not targeting a frozen actor
|
// Not targeting a frozen actor
|
||||||
if (order.ExtraData == 0)
|
if (order.ExtraData == 0)
|
||||||
return Target.FromOrder(order);
|
return Target.FromOrder(self.World, order);
|
||||||
|
|
||||||
// Targeted an actor under the fog
|
// Targeted an actor under the fog
|
||||||
var frozenLayer = self.Owner.PlayerActor.TraitOrDefault<FrozenActorLayer>();
|
var frozenLayer = self.Owner.PlayerActor.TraitOrDefault<FrozenActorLayer>();
|
||||||
|
|||||||
@@ -71,7 +71,7 @@ namespace OpenRA.Mods.RA.Air
|
|||||||
|
|
||||||
UnReserve();
|
UnReserve();
|
||||||
|
|
||||||
self.SetTargetLine(Target.FromOrder(order), Color.Green);
|
self.SetTargetLine(Target.FromOrder(self.World, order), Color.Green);
|
||||||
|
|
||||||
self.CancelActivity();
|
self.CancelActivity();
|
||||||
self.QueueActivity(new ReturnToBase(self, order.TargetActor));
|
self.QueueActivity(new ReturnToBase(self, order.TargetActor));
|
||||||
|
|||||||
@@ -336,7 +336,7 @@ namespace OpenRA.Mods.RA
|
|||||||
|
|
||||||
idleSmart = true;
|
idleSmart = true;
|
||||||
|
|
||||||
self.SetTargetLine(Target.FromOrder(order), Color.Green);
|
self.SetTargetLine(Target.FromOrder(self.World, order), Color.Green);
|
||||||
|
|
||||||
self.CancelActivity();
|
self.CancelActivity();
|
||||||
self.QueueActivity(new DeliverResources());
|
self.QueueActivity(new DeliverResources());
|
||||||
|
|||||||
@@ -76,7 +76,7 @@ namespace OpenRA.Mods.RA
|
|||||||
if (!CanEnter(order.TargetActor)) return;
|
if (!CanEnter(order.TargetActor)) return;
|
||||||
if (!IsCorrectCargoType(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.SetTargetLine(target, Color.Green);
|
||||||
|
|
||||||
self.CancelActivity();
|
self.CancelActivity();
|
||||||
|
|||||||
@@ -73,7 +73,7 @@ namespace OpenRA.Mods.RA
|
|||||||
return;
|
return;
|
||||||
|
|
||||||
var movement = self.Trait<IMove>();
|
var movement = self.Trait<IMove>();
|
||||||
var target = Target.FromOrder(order);
|
var target = Target.FromOrder(self.World, order);
|
||||||
self.SetTargetLine(target, Color.Green);
|
self.SetTargetLine(target, Color.Green);
|
||||||
|
|
||||||
self.CancelActivity();
|
self.CancelActivity();
|
||||||
|
|||||||
@@ -65,7 +65,7 @@ namespace OpenRA.Mods.RA
|
|||||||
if (order.OrderString == "RepairNear" && CanRepairAt(order.TargetActor) && ShouldRepair())
|
if (order.OrderString == "RepairNear" && CanRepairAt(order.TargetActor) && ShouldRepair())
|
||||||
{
|
{
|
||||||
var movement = self.Trait<IMove>();
|
var movement = self.Trait<IMove>();
|
||||||
var target = Target.FromOrder(order);
|
var target = Target.FromOrder(self.World, order);
|
||||||
|
|
||||||
self.CancelActivity();
|
self.CancelActivity();
|
||||||
self.QueueActivity(movement.MoveWithinRange(target, new WRange(1024*info.CloseEnough)));
|
self.QueueActivity(movement.MoveWithinRange(target, new WRange(1024*info.CloseEnough)));
|
||||||
|
|||||||
@@ -56,7 +56,7 @@ namespace OpenRA.Mods.RA
|
|||||||
if (bridge.BridgeDamageState == DamageState.Undamaged)
|
if (bridge.BridgeDamageState == DamageState.Undamaged)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
self.SetTargetLine(Target.FromOrder(order), Color.Yellow);
|
self.SetTargetLine(Target.FromOrder(self.World, order), Color.Yellow);
|
||||||
|
|
||||||
self.CancelActivity();
|
self.CancelActivity();
|
||||||
self.QueueActivity(new Enter(order.TargetActor, new RepairBridge(order.TargetActor)));
|
self.QueueActivity(new Enter(order.TargetActor, new RepairBridge(order.TargetActor)));
|
||||||
|
|||||||
@@ -64,7 +64,7 @@ namespace OpenRA.Mods.RA
|
|||||||
});
|
});
|
||||||
|
|
||||||
a.CancelActivity();
|
a.CancelActivity();
|
||||||
a.QueueActivity(new FlyAttack(Target.FromOrder(order)));
|
a.QueueActivity(new FlyAttack(Target.FromOrder(self.World, order)));
|
||||||
a.Trait<ParaDrop>().SetLZ(order.TargetLocation);
|
a.Trait<ParaDrop>().SetLZ(order.TargetLocation);
|
||||||
|
|
||||||
var cargo = a.Trait<Cargo>();
|
var cargo = a.Trait<Cargo>();
|
||||||
|
|||||||
Reference in New Issue
Block a user