comparison api/Objects/Unit.cs @ 61:3c77722a02b5

Re #61 - Complete structure of WarFoundry API objects * Add containership support to Unit class * Add method to UnitType to check if a UnitType is of an allowed type
author IBBoard <dev@ibboard.co.uk>
date Thu, 09 Apr 2009 14:17:53 +0000
parents 3a90f70dac73
children 2094bd0ba652
comparison
equal deleted inserted replaced
60:0c3500fca49d 61:3c77722a02b5
20 private Army army; 20 private Army army;
21 private Race race; 21 private Race race;
22 private double points; 22 private double points;
23 private ArmyCategory cat; 23 private ArmyCategory cat;
24 private Dictionary<UnitEquipmentItem, double> equipment = new Dictionary<UnitEquipmentItem, double>(); 24 private Dictionary<UnitEquipmentItem, double> equipment = new Dictionary<UnitEquipmentItem, double>();
25 private List<Unit> containedUnits = new List<Unit>();
25 public event DoubleValChangedDelegate PointsValueChanged; 26 public event DoubleValChangedDelegate PointsValueChanged;
26 public event IntValChangedDelegate UnitSizeChanged; 27 public event IntValChangedDelegate UnitSizeChanged;
27 public event DoubleValChangedDelegate UnitEquipmentAmountChanged; 28 public event DoubleValChangedDelegate UnitEquipmentAmountChanged;
28 29
29 public Unit(UnitType unitType, Army parentArmy) : this(unitType, unitType.MinSize, parentArmy){} 30 public Unit(UnitType unitType, Army parentArmy) : this(unitType, unitType.MinSize, parentArmy){}
194 } 195 }
195 196
196 return points; 197 return points;
197 } 198 }
198 } 199 }
200
201 public Unit[] ContainedUnits
202 {
203 get { return containedUnits.ToArray(); }
204 }
205
206 public void AddContainedUnit(Unit unit)
207 {
208 if (UnitType.CanContainUnit(unit))
209 {
210 if (!containedUnits.Contains(unit))
211 {
212 containedUnits.Add(unit);
213 }
214 }
215 else
216 {
217 throw new InvalidContainershipException(this, unit);
218 }
219 }
220
221 public void RemoveContainedUnit(Unit unit)
222 {
223 containedUnits.Remove(unit);
224 }
199 225
200 public UnitEquipmentItem[] GetAllowedOptionalEquipment() 226 public UnitEquipmentItem[] GetAllowedOptionalEquipment()
201 { 227 {
202 List<UnitEquipmentItem> list = new List<UnitEquipmentItem>(); 228 List<UnitEquipmentItem> list = new List<UnitEquipmentItem>();
203 229