113
|
1 // This file (EditEquipmentUIControl.cs) is a part of the IBBoard.WarFoundry.GUI.GTK project and is copyright 2010 IBBoard
|
|
2 //
|
|
3 // // The file and the library/program it is in are licensed and distributed, without warranty, under the GNU Affero GPL license, either version 3 of the License or (at your option) any later version. Please see COPYING for more information and the full license.
|
|
4
|
|
5 using System;
|
|
6 using IBBoard.Commands;
|
|
7 using IBBoard.WarFoundry.API.Objects;
|
|
8 using IBBoard.WarFoundry.API.Util;
|
|
9 using IBBoard.WarFoundry.GUI.GTK.UIControl.Interfaces;
|
|
10 using IBBoard.WarFoundry.API.Commands;
|
|
11 using CustomMath = IBBoard.CustomMath;
|
|
12 using IBBoard.Lang;
|
|
13 using IBBoard.WarFoundry.GUI.GTK;
|
|
14
|
|
15 namespace IBBoard.WarFoundry.GUI.GTK.UIControl
|
|
16 {
|
|
17 public class EditEquipmentUIControl : AbstractBaseEquipmentUIControl<IEditEquipmentUI>
|
|
18 {
|
|
19 public EditEquipmentUIControl(Unit unit, UnitEquipmentItem item, CommandStack commandStack) : base(unit, commandStack)
|
|
20 {
|
|
21 this.equipItem = item;
|
|
22 }
|
|
23
|
|
24 //TODO Make abstract
|
|
25
|
|
26 protected override IEditEquipmentUI CreateEquipmentUI()
|
|
27 {
|
|
28 return new FrmEditEquipment();
|
|
29 }
|
|
30
|
|
31 protected override void CompleteUISetup()
|
|
32 {
|
|
33 SetUnitEquipmentLimits(equipItem);
|
|
34 SetUnitEquipmentValuesFromEquipment(equipItem);
|
|
35 ui.SetEquipmentAmountType(UnitEquipmentUtil.GetEquipmentAmountIsRatio(unit, equipItem));
|
|
36 }
|
|
37
|
|
38 protected override void DoProcessing()
|
|
39 {
|
|
40 if (isRatioAmount)
|
|
41 {
|
|
42 commandStack.Execute(new SetUnitEquipmentRatioAmountCommand(unit, equipItem, equipmentAmount));
|
|
43 }
|
|
44 else
|
|
45 {
|
|
46 commandStack.Execute(new SetUnitEquipmentNumericAmountCommand(unit, equipItem, (int)equipmentAmount));
|
|
47 }
|
|
48 }
|
|
49 }
|
|
50 }
|
|
51
|