Mercurial > repos > IBDev-IBBoard.WarFoundry.API
comparison api/Objects/UnitEquipmentItem.cs @ 92:729d9e54162c
Re #111: "Replace" button doesn't always enable
* Implement better fix:
* Make UnitEquipmentItem ID based on unit type ID and equipment item ID
* Make UnitEquipmentItem require UnitType at construction again
* Remove setter from EquipmentItemForUnit
* Make AddEquipmentItem method internal so that the UnitEquipmentItem and not the factory is responsible for setting up the reverse link
no-open-ticket
author | IBBoard <dev@ibboard.co.uk> |
---|---|
date | Fri, 07 Aug 2009 19:49:21 +0000 |
parents | 46ad6f478203 |
children | 49a83020174e |
comparison
equal
deleted
inserted
replaced
91:571d8ddc7d9a | 92:729d9e54162c |
---|---|
23 private double costMultiplier; | 23 private double costMultiplier; |
24 private RoundType roundType; | 24 private RoundType roundType; |
25 private string mutexGroup; | 25 private string mutexGroup; |
26 private UnitType unitType; | 26 private UnitType unitType; |
27 | 27 |
28 public UnitEquipmentItem(EquipmentItem equipmentItem) | 28 public UnitEquipmentItem(EquipmentItem equipmentItem, UnitType equipmentFor) |
29 { | 29 { |
30 item = equipmentItem; | 30 item = equipmentItem; |
31 unitType = equipmentFor; | |
32 unitType.AddEquipmentItem(this); | |
31 } | 33 } |
32 | 34 |
33 public override string Name | 35 public override string Name |
34 { | 36 { |
35 get { | 37 get |
38 { | |
36 return item.Name; | 39 return item.Name; |
37 } | 40 } |
38 set { | 41 set |
42 { | |
39 base.Name = value; | 43 base.Name = value; |
40 } | 44 } |
41 } | 45 } |
46 | |
47 public override string ID { | |
48 get | |
49 { | |
50 return (EquipmentForUnit == null ? base.ID : EquipmentForUnit.ID) + EquipmentItemID; | |
51 } | |
52 set | |
53 { | |
54 base.ID = value; | |
55 } | |
56 } | |
57 | |
42 | 58 |
43 public string EquipmentItemID | 59 public string EquipmentItemID |
44 { | 60 { |
45 get { return item.ID; } | 61 get { return item.ID; } |
46 } | 62 } |
90 } | 106 } |
91 | 107 |
92 public UnitType EquipmentForUnit | 108 public UnitType EquipmentForUnit |
93 { | 109 { |
94 get { return unitType; } | 110 get { return unitType; } |
95 set | |
96 { | |
97 if (value != null) | |
98 { | |
99 unitType = value; | |
100 unitType.AddEquipmentItem(this); | |
101 } | |
102 } | |
103 } | 111 } |
104 | 112 |
105 public bool IsRatioLimit | 113 public bool IsRatioLimit |
106 { | 114 { |
107 get { return minPercentage!=100 || maxPercentage!=100; } | 115 get { return minPercentage!=100 || maxPercentage!=100; } |
219 } | 227 } |
220 else | 228 else |
221 { | 229 { |
222 if (amount == WarFoundryCore.INFINITY) | 230 if (amount == WarFoundryCore.INFINITY) |
223 { | 231 { |
224 return "all"; | 232 return "all"; //TODO: Translate |
225 } | 233 } |
226 else | 234 else |
227 { | 235 { |
228 return amount.ToString(); | 236 return amount.ToString(); |
229 } | 237 } |