Mercurial > repos > snowblizz-super-API-ideas
changeset 79:284ebe05158c
Re #61 - Complete structure of API objects
* Add methods for new cost multiplier and rounding
* Reduce "train wreck" code by making some EquipmentItem properties visible on the UnitEquipmentItem
no-open-ticket
author | IBBoard <dev@ibboard.co.uk> |
---|---|
date | Tue, 19 May 2009 14:40:10 +0000 |
parents | f70c709dad8b |
children | aa66dd18cdae |
files | api/Objects/UnitEquipmentItem.cs |
diffstat | 1 files changed, 53 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/api/Objects/UnitEquipmentItem.cs Tue May 19 14:27:40 2009 +0000 +++ b/api/Objects/UnitEquipmentItem.cs Tue May 19 14:40:10 2009 +0000 @@ -3,7 +3,8 @@ // The file and the library/program it is in are licensed under the GNU LGPL license, either version 3 of the License or (at your option) any later version. Please see COPYING.LGPL for more information and the full license. using System; -using System.Xml; +using System.Xml; +using IBBoard.Lang; namespace IBBoard.WarFoundry.API.Objects { @@ -18,7 +19,9 @@ private int minNum; private int maxNum; private double minPercentage; - private double maxPercentage; + private double maxPercentage; + private double costMultiplier; + private RoundType roundType; private string mutexGroup; private UnitType unitType; @@ -45,8 +48,29 @@ public double Cost { - get { return item.Cost; } - } + get + { + return IBBMath.Round(EquipmentItem.Cost * CostMultiplier, CostRoundType); + } + } + + public double CostMultiplier + { + get { return costMultiplier; } + set + { + costMultiplier = value; + } + } + + public RoundType CostRoundType + { + get { return roundType; } + set + { + roundType = value; + } + } public bool IsRequired { @@ -157,6 +181,31 @@ return EquipmentForUnit.GetEquipmentItemsByExclusionGroup(MutexGroup).Length > 1; } } + + public ArmourType ItemArmourType + { + get { return EquipmentItem.ItemArmourType; } + } + + public string Description + { + get { return EquipmentItem.Description; } + } + + public Race EquipmentForRace + { + get { return EquipmentItem.EquipmentForRace; } + } + + public bool CanBeUsedWithItem(EquipmentItem item) + { + return EquipmentItem.CanBeUsedWithItem(item); + } + + public bool CanBeUsedWithArmourType(ArmourType otherItemType) + { + return EquipmentItem.CanBeUsedWithArmourType(otherItemType); + } public static string FormatEquipmentAmount(UnitEquipmentItem item, double amount) {