0
|
1 using System;
|
|
2 using System.Collections;
|
|
3
|
|
4 namespace IBBoard.WarFoundry.API.Objects
|
|
5 {
|
|
6 /// <summary>
|
|
7 /// Summary description for UnitEquipmentItemObj.
|
|
8 /// </summary>
|
|
9 public class UnitEquipmentItemObj
|
|
10 {
|
|
11 private Unit unit;
|
|
12 private UnitEquipmentItem item;
|
|
13 private EquipmentItem equip;
|
|
14
|
|
15 private static Hashtable equipObjs = new Hashtable();
|
|
16
|
|
17 private UnitEquipmentItemObj(Unit unit, UnitEquipmentItem unitItem)
|
|
18 {
|
|
19 this.unit = unit;
|
|
20 item = unitItem;
|
|
21 equip = item.EquipmentItem;
|
|
22 }
|
|
23
|
|
24 public static UnitEquipmentItemObj GetEquipObj(Unit unit, UnitEquipmentItem unitItem)
|
|
25 {
|
|
26 if (!equipObjs.ContainsKey(unitItem))
|
|
27 {
|
|
28 equipObjs[unitItem] = new UnitEquipmentItemObj(unit, unitItem);
|
|
29 }
|
|
30
|
|
31 return (UnitEquipmentItemObj)equipObjs[unitItem];
|
|
32 }
|
|
33
|
|
34 public override string ToString()
|
|
35 {
|
|
36 return String.Format("{0} (For {1} at {2}pts each)", equip.Name, FormatEquipmentAmount(unit, equip), equip.Cost);
|
|
37 }
|
|
38
|
|
39 public UnitEquipmentItem Item
|
|
40 {
|
|
41 get { return item; }
|
|
42 }
|
|
43
|
|
44 public static string FormatEquipmentAmount(Unit unit, EquipmentItem equip)
|
|
45 {
|
|
46 return FormatEquipmentAmount(equip, unit.GetEquipmentAmount(equip.ID));
|
|
47 }
|
|
48
|
|
49 public static string FormatEquipmentAmount(EquipmentItem equip, float amount)
|
|
50 {
|
|
51 if (equip.IsRatioLimit)
|
|
52 {
|
|
53 return Math.Round(amount * 100) + "%";
|
|
54 }
|
|
55 else
|
|
56 {
|
|
57 if (amount == -1)
|
|
58 {
|
|
59 return "all";
|
|
60 }
|
|
61 else
|
|
62 {
|
|
63 return amount.ToString();
|
|
64 }
|
|
65 }
|
|
66 }
|
|
67 }
|
|
68 }
|