Fix CursorForOrderString to work with orders + preliminary e6 fixes

This commit is contained in:
Paul Chote
2010-07-23 17:11:52 +12:00
parent 5019bb8b6e
commit 71420df0f3
25 changed files with 179 additions and 93 deletions

View File

@@ -25,7 +25,7 @@ namespace OpenRA.Mods.RA
public readonly string[] NoTransformSounds = null;
}
class TransformsOnDeploy : IIssueOrder, IResolveOrder, IProvideCursor
class TransformsOnDeploy : IIssueOrder, IResolveOrder, IOrderCursor
{
public Order IssueOrder(Actor self, int2 xy, MouseInput mi, Actor underCursor)
{
@@ -70,17 +70,17 @@ namespace OpenRA.Mods.RA
}
}
public string CursorForOrderString(string s, Actor a, int2 location)
public string CursorForOrder(Actor self, Order order)
{
if (s != "DeployTransform")
if (order.OrderString != "DeployTransform")
return null;
var depInfo = a.Info.Traits.Get<TransformsOnDeployInfo>();
var depInfo = self.Info.Traits.Get<TransformsOnDeployInfo>();
var transInfo = Rules.Info[depInfo.TransformsInto];
if (transInfo.Traits.Contains<BuildingInfo>())
{
var bi = transInfo.Traits.Get<BuildingInfo>();
if (!a.World.CanPlaceBuilding(depInfo.TransformsInto, bi, a.Location + new int2(depInfo.Offset[0], depInfo.Offset[1]), a))
if (!self.World.CanPlaceBuilding(depInfo.TransformsInto, bi, self.Location + new int2(depInfo.Offset[0], depInfo.Offset[1]), self))
return "deploy-blocked";
}
return "deploy";