Minelayer: extract creating BeginMinefield order so it can be triggered from outside
This commit is contained in:
committed by
Matthias Mailänder
parent
ce6e73dc92
commit
8aa548f70c
@@ -109,6 +109,16 @@ namespace OpenRA.Mods.Common.Traits
|
||||
switch (order.OrderID)
|
||||
{
|
||||
case "BeginMinefield":
|
||||
return BeginMinefield(self, target, queued);
|
||||
case "PlaceMine":
|
||||
return new Order("PlaceMine", self, Target.FromCell(self.World, self.Location), queued);
|
||||
default:
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
public static Order BeginMinefield(Actor self, Target target, bool queued)
|
||||
{
|
||||
var start = self.World.Map.CellContaining(target.CenterPosition);
|
||||
if (self.World.OrderGenerator is MinefieldOrderGenerator generator)
|
||||
generator.AddMinelayer(self);
|
||||
@@ -116,11 +126,6 @@ namespace OpenRA.Mods.Common.Traits
|
||||
self.World.OrderGenerator = new MinefieldOrderGenerator(self, start, queued);
|
||||
|
||||
return new Order("BeginMinefield", self, Target.FromCell(self.World, start), queued);
|
||||
case "PlaceMine":
|
||||
return new Order("PlaceMine", self, Target.FromCell(self.World, self.Location), queued);
|
||||
default:
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
Order IIssueDeployOrder.IssueDeployOrder(Actor self, bool queued)
|
||||
|
||||
Reference in New Issue
Block a user