holding shift while building adds 5

This commit is contained in:
Chris Forbes
2010-03-21 20:53:49 +13:00
parent ec4fd62640
commit 668f377301
4 changed files with 30 additions and 26 deletions

View File

@@ -996,7 +996,7 @@ namespace OpenRA
var unit = Rules.Info[item];
Sound.Play(unit.Traits.Contains<BuildingInfo>() ? eva.BuildingSelectAudio : eva.UnitSelectAudio);
Game.IssueOrder(Order.StartProduction(world.LocalPlayer, item));
Game.IssueOrder(Order.StartProduction(world.LocalPlayer, item, Game.controller.GetModifiers().HasModifier(Modifiers.Shift) ? 5 : 1));
}
void HandleBuildPalette( World world, string item, bool isLmb )

View File

@@ -145,5 +145,6 @@ namespace OpenRA
}
public void SetModifiers(Modifiers mods) { modifiers = mods; }
public Modifiers GetModifiers() { return modifiers; }
}
}

View File

@@ -164,9 +164,9 @@ namespace OpenRA
return new Order("Chat", null, text) { IsImmediate = true };
}
public static Order StartProduction(Player subject, string item)
public static Order StartProduction(Player subject, string item, int count)
{
return new Order("StartProduction", subject.PlayerActor, item );
return new Order("StartProduction", subject.PlayerActor, new int2( count, 0 ), item );
}
public static Order PauseProduction(Player subject, string item, bool pause)

View File

@@ -51,6 +51,8 @@ namespace OpenRA.Traits
switch( order.OrderString )
{
case "StartProduction":
{
for (var n = 0; n < order.TargetLocation.X; n++) // repeat count
{
var unit = Rules.Info[order.TargetString];
var ui = unit.Traits.Get<BuildableInfo>();
@@ -79,6 +81,7 @@ namespace OpenRA.Traits
if (!isBuilding)
BuildUnit(order.TargetString);
})));
}
break;
}
case "PauseProduction":