Mercurial > repos > IBDev-IBBoard.WarFoundry.API
diff api/Objects/Unit.cs @ 134:57f7b80757ea
Re #68: Export army to another format
* Add styling to table
* Add in text for equipment
* Add method to Unit to get equipment amount strings
* Refactor unit equipment handling to reduce duplication
author | IBBoard <dev@ibboard.co.uk> |
---|---|
date | Tue, 01 Sep 2009 18:56:38 +0000 |
parents | c60fd5664698 |
children | 7f13ffcb8765 |
line wrap: on
line diff
--- a/api/Objects/Unit.cs Tue Sep 01 18:21:27 2009 +0000 +++ b/api/Objects/Unit.cs Tue Sep 01 18:56:38 2009 +0000 @@ -269,13 +269,45 @@ public bool GetEquipmentAmountIsRatio(UnitEquipmentItem item) { - return (DictionaryUtils.GetValue(equipment, item) is UnitEquipmentRatioSelection); + return IsEquipmentAmountRatio(GetEquipmentSelection(item)); + } + + private AbstractUnitEquipmentItemSelection GetEquipmentSelection(UnitEquipmentItem item) + { + return DictionaryUtils.GetValue(equipment, item); + } + + private bool IsEquipmentAmountRatio(AbstractUnitEquipmentItemSelection selection) + { + return (selection is UnitEquipmentRatioSelection); } public bool GetEquipmentAmountIsRatio(string itemID) { return GetEquipmentAmountIsRatio(UnitType.GetEquipmentItem(itemID)); } + + public string GetEquipmentAmountString(string equipID) + { + return GetEquipmentAmountString(UnitType.GetEquipmentItem(equipID)); + } + + public string GetEquipmentAmountString(UnitEquipmentItem item) + { + String amountString = ""; + AbstractUnitEquipmentItemSelection selection = GetEquipmentSelection(item); + + if (IsEquipmentAmountRatio(selection)) + { + amountString = UnitEquipmentRatioSelection.GetEquipmentAmountString(GetEquipmentAmount(item)); + } + else + { + amountString = UnitEquipmentNumericSelection.GetEquipmentAmountString(GetEquipmentAmount(item)); + } + + return amountString; + } public void SetEquipmentAmount(UnitEquipmentItem equip, int amount) {