Mercurial > repos > snowblizz-super-API-ideas
diff api/Objects/Unit.cs @ 65:aa2d05a9c635
Re #61 - Complete structure of WarFoundry API objects
* Add parent links to Units (inverse of r97)
author | IBBoard <dev@ibboard.co.uk> |
---|---|
date | Thu, 09 Apr 2009 18:27:51 +0000 |
parents | 2094bd0ba652 |
children | aa66dd18cdae |
line wrap: on
line diff
--- a/api/Objects/Unit.cs Thu Apr 09 15:36:22 2009 +0000 +++ b/api/Objects/Unit.cs Thu Apr 09 18:27:51 2009 +0000 @@ -17,8 +17,8 @@ { private UnitType type; private int size; - private Army army; - private Race race; + private Army army; + private Unit parentUnit; private double points; private ArmyCategory cat; private Dictionary<EquipmentItem, double> equipment = new Dictionary<EquipmentItem, double>(); @@ -158,8 +158,7 @@ public Race Race { - get { return race; } - set { race = value; } + get { return UnitType.Race; } } public ArmyCategory Category @@ -211,6 +210,8 @@ { containedUnits.Add(unit); } + + unit.ParentUnit = this; } else { @@ -221,6 +222,23 @@ public void RemoveContainedUnit(Unit unit) { containedUnits.Remove(unit); + } + + public Unit ParentUnit + { + get { return parentUnit; } + set + { + if (!(parentUnit == value || (parentUnit != null && parentUnit.Equals(value)))) + { + parentUnit = value; + + if (value!=null) + { + value.AddContainedUnit(this); + } + } + } } public UnitEquipmentItem[] GetAllowedOptionalEquipment()