Mercurial > repos > IBDev-IBBoard.WarFoundry.API
view api/Objects/UnitEquipmentItem.cs @ 14:0770e5cbba7c
Closes #21 - File loading in order
* Reworked LoadFiles to smaller methods for readability (also re #10) and structure
* Now determine expected load return before loading then load all "expected GameSystem" before "expected Race"
* Make "can load as race/game system/army" methods public in interface
Re #22 - Get errored file loading
* Created FileLoadFailure class and made LoadFiles return a list of them
Also
* Some code cleanup
* Change to DictionaryUtils calls
author | IBBoard <dev@ibboard.co.uk> |
---|---|
date | Sun, 25 Jan 2009 14:03:20 +0000 |
parents | 520818033bb6 |
children | 306558904c2a |
line wrap: on
line source
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; } } } }