BuildUnit order is now in replay
This commit is contained in:
@@ -22,7 +22,6 @@ namespace OpenRa.Game
|
|||||||
foreach (var order in orderGenerator.Order(xy.ToInt2(), left))
|
foreach (var order in orderGenerator.Order(xy.ToInt2(), left))
|
||||||
{
|
{
|
||||||
recentOrders.Add(order);
|
recentOrders.Add(order);
|
||||||
//UnitOrders.ProcessOrder( order );
|
|
||||||
if (order.Subject != null && order.Player == Game.LocalPlayer)
|
if (order.Subject != null && order.Player == Game.LocalPlayer)
|
||||||
doVoice = order.Subject;
|
doVoice = order.Subject;
|
||||||
}
|
}
|
||||||
@@ -30,6 +29,8 @@ namespace OpenRa.Game
|
|||||||
Game.PlaySound(Game.SovietVoices.First.GetNext() + GetVoiceSuffix(doVoice), false);
|
Game.PlaySound(Game.SovietVoices.First.GetNext() + GetVoiceSuffix(doVoice), false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void AddOrder(Order o) { recentOrders.Add(o); }
|
||||||
|
|
||||||
public List<Order> GetRecentOrders()
|
public List<Order> GetRecentOrders()
|
||||||
{
|
{
|
||||||
var ret = recentOrders;
|
var ret = recentOrders;
|
||||||
|
|||||||
@@ -255,7 +255,7 @@ namespace OpenRa.Game
|
|||||||
mobile.QueueActivity(new Mobile.MoveTo(unit.Location + new int2(0, 3)));
|
mobile.QueueActivity(new Mobile.MoveTo(unit.Location + new int2(0, 3)));
|
||||||
}
|
}
|
||||||
|
|
||||||
world.AddFrameEndTask(_ => world.Add(unit));
|
world.Add(unit);
|
||||||
|
|
||||||
if (producer.traits.Contains<RenderWarFactory>())
|
if (producer.traits.Contains<RenderWarFactory>())
|
||||||
producer.traits.Get<RenderWarFactory>().EjectUnit();
|
producer.traits.Get<RenderWarFactory>().EjectUnit();
|
||||||
|
|||||||
@@ -104,5 +104,10 @@ namespace OpenRa.Game
|
|||||||
{
|
{
|
||||||
return new Order(subject, "PlaceBuilding", null, null, target, buildingName);
|
return new Order(subject, "PlaceBuilding", null, null, target, buildingName);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static Order BuildUnit(Player subject, string unitName)
|
||||||
|
{
|
||||||
|
return new Order(subject, "BuildUnit", null, null, int2.Zero, unitName);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -60,14 +60,13 @@ namespace OpenRa.Game
|
|||||||
|
|
||||||
public void Build(SidebarItem item)
|
public void Build(SidebarItem item)
|
||||||
{
|
{
|
||||||
if (item != null)
|
if (item == null) return;
|
||||||
{
|
|
||||||
if (item.techTreeItem.IsStructure)
|
if (item.techTreeItem.IsStructure)
|
||||||
Game.controller.orderGenerator = new PlaceBuilding(Game.LocalPlayer,
|
Game.controller.orderGenerator = new PlaceBuilding(Game.LocalPlayer,
|
||||||
item.techTreeItem.tag.ToLowerInvariant());
|
item.techTreeItem.tag.ToLowerInvariant());
|
||||||
else
|
else
|
||||||
Game.BuildUnit(Game.LocalPlayer, item.techTreeItem.tag.ToLowerInvariant());
|
Game.controller.AddOrder(Order.BuildUnit(Game.LocalPlayer, item.techTreeItem.tag.ToLowerInvariant()));
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void LoadSprites( string category, string group )
|
void LoadSprites( string category, string group )
|
||||||
|
|||||||
@@ -65,6 +65,11 @@ namespace OpenRa.Game
|
|||||||
} );
|
} );
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
case "BuildUnit":
|
||||||
|
{
|
||||||
|
Game.world.AddFrameEndTask(_ => Game.BuildUnit( order.Player, order.TargetString ));
|
||||||
|
break;
|
||||||
|
}
|
||||||
default:
|
default:
|
||||||
throw new NotImplementedException();
|
throw new NotImplementedException();
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user