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