Mercurial > repos > IBDev-IBBoard.WarFoundry.API
diff api/Commands/CreateAndAddUnitCommand.cs @ 83:89cc29b4c012
Re #90: Stop new units showing up twice
* Hand all of unit adding/removing down to category
* Refactor out OnFailedRequirement method in Army
* Make Army listen to and propogate FailedRequirement events from Units
* Add OnUnitAdded/Removed method to ArmyCategory that takes list of failures
* Remove direct reference to Army from Unit and go via ArmyCategory instead
author | IBBoard <dev@ibboard.co.uk> |
---|---|
date | Sat, 27 Jun 2009 19:39:04 +0000 |
parents | 3ea0ab04352b |
children | cb3759c3ea19 |
line wrap: on
line diff
--- a/api/Commands/CreateAndAddUnitCommand.cs Sat Jun 27 18:59:49 2009 +0000 +++ b/api/Commands/CreateAndAddUnitCommand.cs Sat Jun 27 19:39:04 2009 +0000 @@ -12,17 +12,17 @@ public class CreateAndAddUnitCommand : Command { private UnitType addedUnitType; - private Army army; + private ArmyCategory armyCat; private Unit addedUnit; - public CreateAndAddUnitCommand(UnitType toAdd, Army armyTo) + public CreateAndAddUnitCommand(UnitType toAdd, ArmyCategory armyCatTo) { addedUnitType = toAdd; - army = armyTo; + armyCat = armyCatTo; } [Obsolete("Use two parameter constructor instead")] - public CreateAndAddUnitCommand(UnitType toAdd, ArmyCategory catTo, Army armyTo) : this(toAdd, armyTo) + public CreateAndAddUnitCommand(UnitType toAdd, ArmyCategory catTo, Army armyTo) : this(toAdd, catTo) { } @@ -33,7 +33,7 @@ public override bool CanExecute() { - return (addedUnitType!=null && army!=null); + return (addedUnitType!=null && armyCat!=null); } public override string Description @@ -48,19 +48,19 @@ public override bool Execute() { - addedUnit = new Unit(addedUnitType, army); + addedUnit = new Unit(addedUnitType, armyCat); this.Redo(); return true; } public override void Redo() { - army.AddUnit(addedUnit); + armyCat.AddUnit(addedUnit); } public override void Undo() - { - army.RemoveUnit(addedUnit); + { + armyCat.RemoveUnit(addedUnit); }