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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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 }