Mercurial > repos > IBDev-IBBoard.WarFoundry.API
diff api/Commands/SetUnitEquipmentAmountCommand.cs @ 54:3a90f70dac73
Re #61 - Complete structure of WarFoundry API objects
* Remove min/max from EquipmentItem and add description
* Add min/max numbers and percentages to UnitEquipmentItem
* Make Race schema define min/max number without the ratio (which is the percentage)
* Replace use of EquipmentItem with UnitEquipmentItem because of increased use of UnitEquipmentItem for unit-specific data
* Use doubles instead of floats for equipment amounts
* Distinguish between ratio and absolute limits
* Delete UnitEquipmentItemObj helper class that was purely used for UI
Re #9 - Use smaller methods
* Deprecate long Race and EquipmentItem constructors and ensure all getters/setters exist
Also:
* Migrate Unit to using genericed collections
* Always use GameSystem object for Race, not ID string
author | IBBoard <dev@ibboard.co.uk> |
---|---|
date | Sun, 05 Apr 2009 13:45:23 +0000 |
parents | 306558904c2a |
children | 3ea0ab04352b |
line wrap: on
line diff
--- a/api/Commands/SetUnitEquipmentAmountCommand.cs Wed Apr 01 19:20:27 2009 +0000 +++ b/api/Commands/SetUnitEquipmentAmountCommand.cs Sun Apr 05 13:45:23 2009 +0000 @@ -15,10 +15,11 @@ public class SetUnitEquipmentAmountCommand : Command { private Unit unit; - private EquipmentItem equip; - private float newAmount, oldAmount; + private UnitEquipmentItem equip; + private double newAmount; + private double oldAmount; - public SetUnitEquipmentAmountCommand(Unit unit, EquipmentItem item, float amount) + public SetUnitEquipmentAmountCommand(Unit unit, UnitEquipmentItem item, double amount) { this.unit = unit; equip = item; @@ -33,12 +34,12 @@ public override string Description { - get { return "Set "+StringManipulation.CutToLength(equip.Name, 20)+" amount for "+StringManipulation.CutToLength(unit.Name, 20)+" to "+UnitEquipmentItemObj.FormatEquipmentAmount(equip, newAmount); } + get { return "Set "+StringManipulation.CutToLength(equip.Name, 20)+" amount for "+StringManipulation.CutToLength(unit.Name, 20)+" to "+UnitEquipmentItem.FormatEquipmentAmount(equip, newAmount); } } public override string UndoDescription { - get { return "Set "+StringManipulation.CutToLength(equip.Name, 20)+" amount for "+StringManipulation.CutToLength(unit.Name, 20)+" to "+UnitEquipmentItemObj.FormatEquipmentAmount(equip, oldAmount); } + get { return "Set "+StringManipulation.CutToLength(equip.Name, 20)+" amount for "+StringManipulation.CutToLength(unit.Name, 20)+" to "+UnitEquipmentItem.FormatEquipmentAmount(equip, oldAmount); } } public override bool Execute() @@ -48,13 +49,27 @@ } public override void Redo() - { - unit.SetEquipmentAmount(equip.ID, newAmount); + { + if (equip.IsRatioLimit) + { + unit.SetEquipmentRatio(equip, newAmount); + } + else + { + unit.SetEquipmentAmount(equip, (int)newAmount); + } } public override void Undo() - { - unit.SetEquipmentAmount(equip.ID, oldAmount); + { + if (equip.IsRatioLimit) + { + unit.SetEquipmentRatio(equip, oldAmount); + } + else + { + unit.SetEquipmentAmount(equip, (int)oldAmount); + } } public override string Name @@ -62,7 +77,7 @@ get { return "Set equipment amount"; } } - public EquipmentItem EquipItem + public UnitEquipmentItem EquipItem { get { return equip; } }