Mercurial > repos > IBBoard.WarFoundry.GUI.WinForms
annotate UI/EquipmentAmountControl.cs @ 81:e749b748e7ea
Re #198: Add slots with counts to units
* Update EquipmentAmountControl to resolve errors
Also:
* Use lower-case slot name for StatColumnStyle check for "Name"
author | IBBoard <dev@ibboard.co.uk> |
---|---|
date | Mon, 26 Oct 2009 20:56:09 +0000 |
parents | c243b043aa62 |
children | 9dc22147c2db |
rev | line source |
---|---|
78
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
1 using System; |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
2 using System.Collections.Generic; |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
3 using System.ComponentModel; |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
4 using System.Drawing; |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
5 using System.Data; |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
6 using System.Text; |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
7 using System.Windows.Forms; |
80
c243b043aa62
Re #179: Make sure that translations are used throughout UI
IBBoard <dev@ibboard.co.uk>
parents:
78
diff
changeset
|
8 using IBBoard.CustomMath; |
81
e749b748e7ea
Re #198: Add slots with counts to units
IBBoard <dev@ibboard.co.uk>
parents:
80
diff
changeset
|
9 using IBBoard.Limits; |
78
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
10 using IBBoard.WarFoundry.API; |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
11 using IBBoard.WarFoundry.API.Objects; |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
12 |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
13 namespace IBBoard.WarFoundry.GUI.WinForms.UI |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
14 { |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
15 public partial class EquipmentAmountControl : UserControl |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
16 { |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
17 private Unit unit; |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
18 private UnitEquipmentItem equip; |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
19 |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
20 public EquipmentAmountControl() |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
21 { |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
22 InitializeComponent(); |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
23 } |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
24 |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
25 public void SetUnit(Unit equipUnit) |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
26 { |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
27 unit = equipUnit; |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
28 } |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
29 |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
30 public void SetUnitEquipmentItem(UnitEquipmentItem unitEquipment) |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
31 { |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
32 equip = unitEquipment; |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
33 SetWidgetValues(); |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
34 SetUnitEquipmentItemAmount(); |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
35 } |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
36 |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
37 public event EventHandler ValueChanged; |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
38 |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
39 private void OnValueChanged() |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
40 { |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
41 if (ValueChanged != null) |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
42 { |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
43 ValueChanged(this, new EventArgs()); |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
44 } |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
45 } |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
46 |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
47 private void SetWidgetValues() |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
48 { |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
49 if (equip != null) |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
50 { |
81
e749b748e7ea
Re #198: Add slots with counts to units
IBBoard <dev@ibboard.co.uk>
parents:
80
diff
changeset
|
51 AbstractLimit limit = unit.UnitType.GetEquipmentSlotLimit(equip.SlotName); |
e749b748e7ea
Re #198: Add slots with counts to units
IBBoard <dev@ibboard.co.uk>
parents:
80
diff
changeset
|
52 |
e749b748e7ea
Re #198: Add slots with counts to units
IBBoard <dev@ibboard.co.uk>
parents:
80
diff
changeset
|
53 if (equip.IsRatioLimit && limit is IPercentageLimit) |
78
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
54 { |
81
e749b748e7ea
Re #198: Add slots with counts to units
IBBoard <dev@ibboard.co.uk>
parents:
80
diff
changeset
|
55 double minPercent = ((IPercentageLimit)equip.MinLimit).Percentage; |
e749b748e7ea
Re #198: Add slots with counts to units
IBBoard <dev@ibboard.co.uk>
parents:
80
diff
changeset
|
56 double maxPercent = ((IPercentageLimit)equip.MaxLimit).Percentage; |
78
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
57 int minNumber = (int) CalculateNumericValueFromPercentage(minPercent); |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
58 int maxNumber = (int) CalculateNumericValueFromPercentage(maxPercent); |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
59 |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
60 rbEquipAll.Enabled = maxPercent == 100; |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
61 SetUpDownControlMinMaxes(minPercent, maxPercent, minNumber, maxNumber); |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
62 SetEquipmentAmountsFromPercentage(minPercent); |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
63 |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
64 if (minPercent == 100) |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
65 { |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
66 rbEquipAll.Checked = true; |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
67 percentage.Enabled = false; |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
68 rbPercentage.Enabled = false; |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
69 numeric.Enabled = false; |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
70 rbNumeric.Enabled = false; |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
71 } |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
72 else |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
73 { |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
74 rbPercentage.Checked = true; |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
75 percentage.Enabled = true; |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
76 rbPercentage.Enabled = true; |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
77 numeric.Enabled = true; |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
78 rbNumeric.Enabled = true; |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
79 } |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
80 } |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
81 else |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
82 { |
81
e749b748e7ea
Re #198: Add slots with counts to units
IBBoard <dev@ibboard.co.uk>
parents:
80
diff
changeset
|
83 int minNumber = equip.MinLimit.GetLimit(unit.Size); |
e749b748e7ea
Re #198: Add slots with counts to units
IBBoard <dev@ibboard.co.uk>
parents:
80
diff
changeset
|
84 int maxNumber = GetMaxNumber(limit); |
78
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
85 double minPercent = (double) CalcualtePercentageValueFromNumber(minNumber); |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
86 double maxPercent = (double) CalcualtePercentageValueFromNumber(maxNumber); |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
87 |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
88 percentage.Enabled = false; |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
89 rbPercentage.Enabled = false; |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
90 rbEquipAll.Enabled = maxNumber == WarFoundryCore.INFINITY; |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
91 |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
92 SetUpDownControlMinMaxes(minPercent, maxPercent, minNumber, maxNumber); |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
93 SetEquipmentAmountsFromNumber(minNumber); |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
94 |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
95 if (minNumber == WarFoundryCore.INFINITY) |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
96 { |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
97 numeric.Enabled = false; |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
98 rbNumeric.Enabled = false; |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
99 } |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
100 else |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
101 { |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
102 rbNumeric.Checked = true; |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
103 numeric.Enabled = true; |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
104 rbNumeric.Enabled = true; |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
105 } |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
106 } |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
107 } |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
108 else |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
109 { |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
110 Enabled = false; |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
111 } |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
112 } |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
113 |
81
e749b748e7ea
Re #198: Add slots with counts to units
IBBoard <dev@ibboard.co.uk>
parents:
80
diff
changeset
|
114 private int GetMaxNumber(AbstractLimit limit) |
e749b748e7ea
Re #198: Add slots with counts to units
IBBoard <dev@ibboard.co.uk>
parents:
80
diff
changeset
|
115 { |
e749b748e7ea
Re #198: Add slots with counts to units
IBBoard <dev@ibboard.co.uk>
parents:
80
diff
changeset
|
116 int maxNumber = equip.MaxLimit.GetLimit(unit.Size); |
e749b748e7ea
Re #198: Add slots with counts to units
IBBoard <dev@ibboard.co.uk>
parents:
80
diff
changeset
|
117 |
e749b748e7ea
Re #198: Add slots with counts to units
IBBoard <dev@ibboard.co.uk>
parents:
80
diff
changeset
|
118 if (!(limit is UnlimitedLimit)) |
e749b748e7ea
Re #198: Add slots with counts to units
IBBoard <dev@ibboard.co.uk>
parents:
80
diff
changeset
|
119 { |
e749b748e7ea
Re #198: Add slots with counts to units
IBBoard <dev@ibboard.co.uk>
parents:
80
diff
changeset
|
120 int slotMax = limit.GetLimit(unit.Size) - unit.GetEquipmentAmountInSlot(equip.SlotName); |
e749b748e7ea
Re #198: Add slots with counts to units
IBBoard <dev@ibboard.co.uk>
parents:
80
diff
changeset
|
121 maxNumber = Math.Min(slotMax, maxNumber); |
e749b748e7ea
Re #198: Add slots with counts to units
IBBoard <dev@ibboard.co.uk>
parents:
80
diff
changeset
|
122 } |
e749b748e7ea
Re #198: Add slots with counts to units
IBBoard <dev@ibboard.co.uk>
parents:
80
diff
changeset
|
123 |
e749b748e7ea
Re #198: Add slots with counts to units
IBBoard <dev@ibboard.co.uk>
parents:
80
diff
changeset
|
124 return maxNumber; |
e749b748e7ea
Re #198: Add slots with counts to units
IBBoard <dev@ibboard.co.uk>
parents:
80
diff
changeset
|
125 } |
e749b748e7ea
Re #198: Add slots with counts to units
IBBoard <dev@ibboard.co.uk>
parents:
80
diff
changeset
|
126 |
78
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
127 private void SetUpDownControlMinMaxes(double minPercent, double maxPercent, int minNumber, int maxNumber) |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
128 { |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
129 percentage.ValueChanged -= percentage_ValueChanged; |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
130 numeric.ValueChanged -= numeric_ValueChanged; |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
131 SetUpDownControlMinMax(percentage, minPercent, maxPercent); |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
132 SetUpDownControlMinMax(numeric, (decimal) minNumber, (decimal) maxNumber); |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
133 percentage.ValueChanged += percentage_ValueChanged; |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
134 numeric.ValueChanged += numeric_ValueChanged; |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
135 } |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
136 |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
137 private void SetUpDownControlMinMax(NumericUpDown upDownControl, double min, double max) |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
138 { |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
139 SetUpDownControlMinMax(upDownControl, (decimal)min, (decimal)max); |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
140 } |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
141 |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
142 private void SetUpDownControlMinMax(NumericUpDown upDownControl, decimal min, decimal max) |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
143 { |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
144 upDownControl.Minimum = (min == WarFoundryCore.INFINITY ? unit.Size : min); |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
145 upDownControl.Maximum = (max == WarFoundryCore.INFINITY ? unit.Size : max); |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
146 } |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
147 |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
148 private void rbEquipAll_CheckedChanged(object sender, EventArgs e) |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
149 { |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
150 bool equipAll = rbEquipAll.Checked; |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
151 numeric.Enabled = !equipAll; |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
152 percentage.Enabled = !equipAll; |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
153 |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
154 if (equipAll) |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
155 { |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
156 numeric.Value = unit.Size; |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
157 percentage.Value = 100; |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
158 } |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
159 |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
160 radioCheckedChanged(sender, e); |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
161 } |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
162 |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
163 private void percentage_ValueChanged(object sender, EventArgs e) |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
164 { |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
165 SetNumericValueFromPercentage(); |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
166 rbEquipAll.Checked = (percentage.Value == 100 && !rbNumeric.Checked); |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
167 OnValueChanged(); |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
168 } |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
169 |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
170 private void SetNumericValueFromPercentage() |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
171 { |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
172 double percent = (double)percentage.Value; |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
173 numeric.Value = CalculateNumericValueFromPercentage(percent); |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
174 } |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
175 |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
176 private decimal CalculateNumericValueFromPercentage(double percent) |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
177 { |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
178 return (decimal) IBBMath.Round(unit.Size * (percent / 100.0), equip.RoundNumberUp); |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
179 } |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
180 |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
181 private void numeric_ValueChanged(object sender, EventArgs e) |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
182 { |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
183 SetPercentageValueFromNumeric(); |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
184 OnValueChanged(); |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
185 } |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
186 |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
187 private void SetPercentageValueFromNumeric() |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
188 { |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
189 int number = (int)numeric.Value; |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
190 percentage.Value = CalcualtePercentageValueFromNumber(number); |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
191 } |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
192 |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
193 private decimal CalcualtePercentageValueFromNumber(int number) |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
194 { |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
195 decimal percent = 0; |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
196 |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
197 if (number > 0) |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
198 { |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
199 percent = (decimal) Math.Round((number / (unit.Size * 1.0)) * 100, 1); |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
200 } |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
201 else if (number == WarFoundryCore.INFINITY) |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
202 { |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
203 percent = 100; |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
204 } |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
205 |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
206 return percent; |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
207 } |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
208 |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
209 public double EquipmentAmount |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
210 { |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
211 get |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
212 { |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
213 double val = 0; |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
214 |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
215 if (rbNumeric.Checked) |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
216 { |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
217 val = (double) numeric.Value; |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
218 } |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
219 else if (rbPercentage.Checked) |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
220 { |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
221 val = (double) percentage.Value; |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
222 } |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
223 else if (rbEquipAll.Checked) |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
224 { |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
225 val = WarFoundryCore.INFINITY; |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
226 } |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
227 else |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
228 { |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
229 val = 0; |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
230 } |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
231 |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
232 return val; |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
233 } |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
234 } |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
235 |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
236 public bool IsRatioEquipmentAmount |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
237 { |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
238 get |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
239 { |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
240 return rbPercentage.Checked; |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
241 } |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
242 } |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
243 |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
244 private void SetUnitEquipmentItemAmount() |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
245 { |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
246 double equipAmountNum = unit.GetEquipmentAmount(equip); |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
247 |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
248 if (equipAmountNum > 0) |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
249 { |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
250 bool isRatio = unit.GetEquipmentAmountIsRatio(equip); |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
251 |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
252 if (isRatio) |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
253 { |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
254 SetEquipmentAmountsFromPercentage(equipAmountNum); |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
255 } |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
256 else if (equipAmountNum == WarFoundryCore.INFINITY) |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
257 { |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
258 rbEquipAll.Checked = true; |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
259 } |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
260 else |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
261 { |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
262 int equipAmount = (int) equipAmountNum; |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
263 SetEquipmentAmountsFromNumber(equipAmount); |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
264 } |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
265 } |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
266 } |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
267 |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
268 private void SetEquipmentAmountsFromPercentage(double equipAmountNum) |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
269 { |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
270 numeric.Value = CalculateNumericValueFromPercentage(equipAmountNum); |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
271 percentage.Value = (decimal) equipAmountNum; |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
272 } |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
273 |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
274 private void SetEquipmentAmountsFromNumber(int equipAmount) |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
275 { |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
276 rbEquipAll.Checked = (equipAmount == WarFoundryCore.INFINITY); |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
277 equipAmount = (equipAmount == WarFoundryCore.INFINITY ? unit.Size : equipAmount); |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
278 percentage.Value = CalcualtePercentageValueFromNumber(equipAmount); |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
279 numeric.Value = equipAmount; |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
280 } |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
281 |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
282 private void radioCheckedChanged(object sender, EventArgs e) |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
283 { |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
284 OnValueChanged(); |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
285 } |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
286 } |
431cc3ace26c
Fixes #187: Error when adding equipment with minNum > unit size
IBBoard <dev@ibboard.co.uk>
parents:
77
diff
changeset
|
287 } |