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);
 		}