Mercurial > repos > snowblizz-super-API-ideas
comparison api/Commands/AbstractSetUnitEquipmentAmountCommand.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 | 65553d2c8612 |
children |
comparison
equal
deleted
inserted
replaced
297:349e521785c1 | 298:483b491d18f4 |
---|---|
17 { | 17 { |
18 private Unit unit; | 18 private Unit unit; |
19 private UnitEquipmentItem equip; | 19 private UnitEquipmentItem equip; |
20 private double oldAmount; | 20 private double oldAmount; |
21 private bool oldAmountWasRatio; | 21 private bool oldAmountWasRatio; |
22 private string description; | 22 |
23 private string undoDescription; | |
24 | |
25 public AbstractSetUnitEquipmentAmountCommand(Unit unit, UnitEquipmentItem item) | 23 public AbstractSetUnitEquipmentAmountCommand(Unit unit, UnitEquipmentItem item) |
26 { | 24 { |
27 this.unit = unit; | 25 this.unit = unit; |
28 equip = item; | 26 equip = item; |
29 oldAmount = UnitEquipmentUtil.GetEquipmentAmount(unit, equip); | 27 oldAmount = UnitEquipmentUtil.GetEquipmentAmount(unit, equip); |
30 oldAmountWasRatio = UnitEquipmentUtil.GetEquipmentAmountIsRatio(unit, equip); | 28 oldAmountWasRatio = UnitEquipmentUtil.GetEquipmentAmountIsRatio(unit, equip); |
31 } | 29 } |
32 | 30 |
33 public override bool CanExecute() | 31 public override bool CanExecute() |
34 { | 32 { |
35 return (unit!=null && equip!=null); | 33 return (unit != null && equip != null); |
36 } | 34 } |
37 | 35 |
38 public override string Description | 36 public override string Description |
39 { | 37 { |
40 get | 38 get |
41 { | 39 { |
42 if (description == null) | 40 return Translation.GetTranslation("setEquipmentAmountCommandDescription", "set {0} amount for {1} to {2}", equip.Name, unit.Name, GetNewAmountString()); |
43 { | |
44 description = Translation.GetTranslation("setEquipmentAmountCommandDescription", "set {0} amount for {1} to {2}", equip.Name, unit.Name, GetNewAmountString()); | |
45 } | |
46 | |
47 return description; | |
48 } | 41 } |
49 } | 42 } |
50 | 43 |
51 /// <summary> | 44 /// <summary> |
52 /// Gets the string representation for the new amount of the equipment item to take | 45 /// Gets the string representation for the new amount of the equipment item to take |
58 | 51 |
59 public override string UndoDescription | 52 public override string UndoDescription |
60 { | 53 { |
61 get | 54 get |
62 { | 55 { |
63 if (undoDescription == null) | 56 return Translation.GetTranslation("setEquipmentAmountCommandUndoDescription", "set {0} amount for {1} to {2}", equip.Name, unit.Name, GetOldAmountString()); |
64 { | |
65 undoDescription = Translation.GetTranslation("setEquipmentAmountCommandUndoDescription", "set {0} amount for {1} to {2}", equip.Name, unit.Name, GetOldAmountString()); | |
66 } | |
67 | |
68 return undoDescription; | |
69 } | 57 } |
70 } | 58 } |
71 | 59 |
72 /// <summary> | 60 /// <summary> |
73 /// Gets the string representation for the old amount of the equipment item to take | 61 /// Gets the string representation for the old amount of the equipment item to take |
77 /// </returns> | 65 /// </returns> |
78 protected string GetOldAmountString() | 66 protected string GetOldAmountString() |
79 { | 67 { |
80 return oldAmountWasRatio ? GetRatioAmountString(oldAmount, UnitEquipmentRatioSelection.CalculateNumberTaken(Unit, EquipItem, oldAmount)) : GetNumberAmountString((int)oldAmount); | 68 return oldAmountWasRatio ? GetRatioAmountString(oldAmount, UnitEquipmentRatioSelection.CalculateNumberTaken(Unit, EquipItem, oldAmount)) : GetNumberAmountString((int)oldAmount); |
81 } | 69 } |
82 | 70 |
83 protected string GetNumberAmountString(int number) | 71 protected string GetNumberAmountString(int number) |
84 { | 72 { |
85 return Translation.GetTranslation ("equipmentAmountNumber", "{0}", number); | 73 return Translation.GetTranslation("equipmentAmountNumber", "{0}", number); |
86 } | 74 } |
87 | 75 |
88 protected string GetRatioAmountString (double amount, int number) | 76 protected string GetRatioAmountString(double amount, int number) |
89 { | 77 { |
90 string amountString; | 78 string amountString; |
91 | 79 |
92 if (amount == 100) | 80 if (amount == 100) |
93 { | 81 { |
94 amountString = Translation.GetTranslation ("equipmentAmountAll", "all ({1})", amount, number); | 82 amountString = Translation.GetTranslation("equipmentAmountAll", "all ({1})", amount, number); |
95 } | 83 } |
96 else | 84 else |
97 { | 85 { |
98 amountString = Translation.GetTranslation ("equipmentAmountPercentage", "{0}% ({1})", amount, number); | 86 amountString = Translation.GetTranslation("equipmentAmountPercentage", "{0}% ({1})", amount, number); |
99 } | 87 } |
100 | 88 |
101 return amountString; | 89 return amountString; |
102 } | 90 } |
103 | 91 |
105 { | 93 { |
106 this.Redo(); | 94 this.Redo(); |
107 return true; | 95 return true; |
108 } | 96 } |
109 | 97 |
110 public override void Undo () | 98 public override void Undo() |
111 { | 99 { |
112 if (oldAmountWasRatio) | 100 if (oldAmountWasRatio) |
113 { | 101 { |
114 unit.SetEquipmentRatio(equip, oldAmount); | 102 unit.SetEquipmentRatio(equip, oldAmount); |
115 } | 103 } |
116 else | 104 else |
117 { | 105 { |
118 unit.SetEquipmentAmount(equip, (int)oldAmount); | 106 unit.SetEquipmentAmount(equip, (int)oldAmount); |
119 } | 107 } |
120 } | 108 } |
121 | |
122 | 109 |
123 public UnitEquipmentItem EquipItem | 110 public UnitEquipmentItem EquipItem |
124 { | 111 { |
125 get { return equip; } | 112 get { return equip; } |
126 } | 113 } |