Mercurial > repos > IBBoard.WarFoundry.API
view api/Objects/UnitEquipmentItem.cs @ 38:548cfc776f54
Fixes #34 - Remove "Choices" and "Base/Increment" from Category
* Remove Choices and Base/Increment from code
Re #47: Remove magic numbers
* Replace "-1" magic number with WarFoundryCore.INFINITY
* Use INFINITY instead of -1 in code
* Use INF in schemas instead of -1
* Handle and parse INF as a special value in XML Factory
author | IBBoard <dev@ibboard.co.uk> |
---|---|
date | Thu, 19 Mar 2009 20:11:07 +0000 |
parents | 306558904c2a |
children | 3a90f70dac73 |
line wrap: on
line source
// This file (UnitEquipmentItem.cs) is a part of the IBBoard.WarFoundry.API project and is copyright 2009 IBBoard. // // 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; namespace IBBoard.WarFoundry.API.Objects { /// <summary> /// Summary description for UnitEquipmentItem. /// </summary> public class UnitEquipmentItem : WarFoundryObject { private bool required, roundUp; private string mutexGroup; private UnitType unitType; /*public UnitEquipmentItem(XmlElement node, UnitType equipForType) { EquipmentForUnit = equipForType; ID = node.GetAttribute("id"); IsRequired = bool.Parse(node.GetAttribute("required")); RoundNumberUp = "up".Equals(node.GetAttribute("roundDirection").ToLower()); MutexGroup = node.GetAttribute("exclusivityGroup"); }*/ protected UnitEquipmentItem(UnitType equipForType) { EquipmentForUnit = equipForType; } public bool IsRequired { get { return required; } set { required = value; } } public bool RoundNumberUp { get { return roundUp; } set { roundUp = value; } } public string MutexGroup { get { return mutexGroup; } set { mutexGroup = (value == null ? "" : value.Trim()); } } public UnitType EquipmentForUnit { get { return unitType; } set { if (value != null) { unitType = value; } } } public EquipmentItem EquipmentItem { get { return EquipmentForUnit == null ? null : EquipmentForUnit.Race.GetEquipmentItem(ID); } } public override string ToString() { return EquipmentItem.Name+ " ("+EquipmentItem.Cost+"pts each)"; } public bool HasAlternatives() { if (MutexGroup=="") { return false; } else { //If the number of items in the MutEx group is greater than one then it must be this item plus another return EquipmentForUnit.GetEquipmentItemsByExclusionGroup(MutexGroup).Length > 1; } } } }