0
|
1 using System;
|
|
2 using System.Xml;
|
|
3
|
|
4 namespace IBBoard.WarFoundry.API.Objects
|
|
5 {
|
|
6 /// <summary>
|
|
7 /// Summary description for EquipmentItem.
|
|
8 /// </summary>
|
|
9 public class EquipmentItem : WarFoundryObject
|
|
10 {
|
|
11 private float cost, min, max;
|
|
12 private ArmourType armourType;
|
|
13 private Race equipForRace;
|
|
14
|
|
15 public EquipmentItem(string id, string name, float itemCost, float minimum, float maximum, ArmourType itemArmourType, Race race) : base(id, name)
|
|
16 {
|
|
17 cost = itemCost;
|
|
18 min = minimum;
|
|
19 max = maximum;
|
|
20 armourType = itemArmourType;
|
|
21 equipForRace = race;
|
|
22 }
|
|
23
|
|
24 public bool IsRatioLimit
|
|
25 {
|
|
26 get { return ((MaxNumber < 1 && MaxNumber > 0) || (MaxNumber == 1 && MinNumber > 0)); }
|
|
27 }
|
|
28
|
|
29 public float MinNumber
|
|
30 {
|
|
31 get { return min; }
|
|
32 set
|
|
33 {
|
|
34 min = (value >= 0 || value == -1) ? value : 0;
|
|
35
|
|
36 if (MaxNumber != -1 && min > MaxNumber)
|
|
37 {
|
|
38 MaxNumber = min;
|
|
39 }
|
|
40 }
|
|
41 }
|
|
42
|
|
43 public float MaxNumber
|
|
44 {
|
|
45 get { return max; }
|
|
46 set
|
|
47 {
|
|
48 max = (value > 0 || value == -1) ? value : -1;
|
|
49
|
|
50 if (max != -1 && MinNumber > max)
|
|
51 {
|
|
52 MinNumber = max;
|
|
53 }
|
|
54 }
|
|
55 }
|
|
56
|
|
57 public ArmourType ItemArmourType
|
|
58 {
|
|
59 get { return armourType; }
|
|
60 set { armourType = value; }
|
|
61 }
|
|
62
|
|
63 public float Cost
|
|
64 {
|
|
65 get { return cost; }
|
|
66 set { cost = value; }
|
|
67 }
|
|
68
|
|
69 public Race EquipmentForRace
|
|
70 {
|
|
71 get { return equipForRace; }
|
|
72 }
|
|
73
|
|
74 public bool CanBeUsedWithItem(EquipmentItem item)
|
|
75 {
|
|
76 return CanBeUsedWithArmourType(item.ItemArmourType);
|
|
77 }
|
|
78
|
|
79 public bool CanBeUsedWithArmourType(ArmourType otherItemType)
|
|
80 {
|
|
81 return (this.ItemArmourType & otherItemType) == 0;
|
|
82 }
|
|
83 }
|
|
84 }
|