Mercurial > repos > IBDev-IBBoard.WarFoundry.API
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 |