comparison api/Commands/AbstractReplaceUnitEquipmentCommand.cs @ 298:483b491d18f4

Fixes #337: Merge API v0.1.1 changes into v0.2 * Merge translation-related changes from v0.1.1 branch
author IBBoard <dev@ibboard.co.uk>
date Mon, 17 Jan 2011 20:02:41 +0000
parents 391446c9b250
children
comparison
equal deleted inserted replaced
297:349e521785c1 298:483b491d18f4
14 /// </summary> 14 /// </summary>
15 public abstract class AbstractReplaceUnitEquipmentCommand : Command 15 public abstract class AbstractReplaceUnitEquipmentCommand : Command
16 { 16 {
17 private SetUnitEquipmentNumericAmountCommand removeOldCommand; 17 private SetUnitEquipmentNumericAmountCommand removeOldCommand;
18 private AbstractSetUnitEquipmentAmountCommand addNewCommand; 18 private AbstractSetUnitEquipmentAmountCommand addNewCommand;
19 private string description; 19
20 private string undoDescription;
21
22 public AbstractReplaceUnitEquipmentCommand(Unit unit, UnitEquipmentItem oldItem, AbstractSetUnitEquipmentAmountCommand addNewEquipmentCommand) 20 public AbstractReplaceUnitEquipmentCommand(Unit unit, UnitEquipmentItem oldItem, AbstractSetUnitEquipmentAmountCommand addNewEquipmentCommand)
23 { 21 {
24 //We can get away with a numeric amount here even if it is a ratio item because we're setting it to 0 22 //We can get away with a numeric amount here even if it is a ratio item because we're setting it to 0
25 removeOldCommand = new SetUnitEquipmentNumericAmountCommand(unit, oldItem, 0); 23 removeOldCommand = new SetUnitEquipmentNumericAmountCommand(unit, oldItem, 0);
26 addNewCommand = addNewEquipmentCommand; 24 addNewCommand = addNewEquipmentCommand;
33 31
34 public override string Description 32 public override string Description
35 { 33 {
36 get 34 get
37 { 35 {
38 if (description == null) 36 return Translation.GetTranslation("replaceUnitEquipmentCommandDescription", "replace {0} with {1} for {2}", removeOldCommand.EquipItem.Name, addNewCommand.EquipItem.Name, removeOldCommand.Unit.Name);
39 {
40 description = Translation.GetTranslation("replaceUnitEquipmentCommandDescription", "replace {0} with {1} for {2}", removeOldCommand.EquipItem.Name, addNewCommand.EquipItem.Name, removeOldCommand.Unit.Name);
41 }
42
43 return description;
44 } 37 }
45 } 38 }
46 39
47 public override string UndoDescription 40 public override string UndoDescription
48 { 41 {
49 get 42 get
50 { 43 {
51 if (undoDescription == null) 44 return Translation.GetTranslation("replaceUnitEquipmentCommandUndoDescription", "replace {0} with {1} for {2}", addNewCommand.EquipItem.Name, removeOldCommand.EquipItem.Name, removeOldCommand.Unit.Name);
52 {
53 undoDescription = Translation.GetTranslation("replaceUnitEquipmentCommandUndoDescription", "replace {0} with {1} for {2}", addNewCommand.EquipItem.Name, removeOldCommand.EquipItem.Name, removeOldCommand.Unit.Name);
54 }
55
56 return undoDescription;
57 } 45 }
58 } 46 }
59 47
60 public override bool Execute() 48 public override bool Execute()
61 { 49 {
73 { 61 {
74 addNewCommand.Undo(); 62 addNewCommand.Undo();
75 removeOldCommand.Undo(); 63 removeOldCommand.Undo();
76 } 64 }
77 65
78
79 public override string Name 66 public override string Name
80 { 67 {
81 get 68 get
82 { 69 {
83 return "Replace required equipment"; 70 return "Replace required equipment";