|
1 /* $Id$ */ |
|
2 |
|
3 /** @file ai_vehiclelist_valuator.hpp all the valuators for vehiclelist */ |
|
4 |
|
5 #ifndef AI_VEHICLELIST_VALUATOR_HPP |
|
6 #define AI_VEHICLELIST_VALUATOR_HPP |
|
7 |
|
8 #include "ai_abstractlist.hpp" |
|
9 |
|
10 /** |
|
11 * Get the location for entries in an AIVehicleList instance. |
|
12 * @note resulting items are of the type TileIndex |
|
13 * @note the input items are of the type VehicleID |
|
14 */ |
|
15 class AIVehicleListLocation : public AIAbstractList::Valuator { |
|
16 public: |
|
17 /** |
|
18 * The name of the class, needed by several sub-processes. |
|
19 */ |
|
20 static const char *GetClassName() { return "AIVehicleListGetLocation"; } |
|
21 |
|
22 private: |
|
23 int32 Valuate(int32 town) const; |
|
24 }; |
|
25 |
|
26 /** |
|
27 * Get the engine-type for entries in an AIVehicleList instance. |
|
28 * @note resulting items are of the type EngineID |
|
29 * @note the input items are of the type VehicleID |
|
30 */ |
|
31 class AIVehicleListEngineType : public AIAbstractList::Valuator { |
|
32 public: |
|
33 /** |
|
34 * The name of the class, needed by several sub-processes. |
|
35 */ |
|
36 static const char *GetClassName() { return "AIVehicleListEngineType"; } |
|
37 |
|
38 private: |
|
39 int32 Valuate(int32 town) const; |
|
40 }; |
|
41 |
|
42 /** |
|
43 * Get the unit number for entries in an AIVehicleList instance. |
|
44 * @note resulting items are of the type int32 |
|
45 * @note the input items are of the type VehicleID |
|
46 */ |
|
47 class AIVehicleListUnitNumber : public AIAbstractList::Valuator { |
|
48 public: |
|
49 /** |
|
50 * The name of the class, needed by several sub-processes. |
|
51 */ |
|
52 static const char *GetClassName() { return "AIVehicleListUnitNumber"; } |
|
53 |
|
54 private: |
|
55 int32 Valuate(int32 town) const; |
|
56 }; |
|
57 |
|
58 /** |
|
59 * Get the age for entries in an AIVehicleList instance. |
|
60 * @note resulting items are of the type int32 (age in days) |
|
61 * @note the input items are of the type VehicleID |
|
62 */ |
|
63 class AIVehicleListAge : public AIAbstractList::Valuator { |
|
64 public: |
|
65 /** |
|
66 * The name of the class, needed by several sub-processes. |
|
67 */ |
|
68 static const char *GetClassName() { return "AIVehicleListAge"; } |
|
69 |
|
70 private: |
|
71 int32 Valuate(int32 town) const; |
|
72 }; |
|
73 |
|
74 /** |
|
75 * Get the max age for entries in an AIVehicleList instance. |
|
76 * @note resulting items are of the type int32 (age in days) |
|
77 * @note the input items are of the type VehicleID |
|
78 */ |
|
79 class AIVehicleListMaxAge : public AIAbstractList::Valuator { |
|
80 public: |
|
81 /** |
|
82 * The name of the class, needed by several sub-processes. |
|
83 */ |
|
84 static const char *GetClassName() { return "AIVehicleListMaxAge"; } |
|
85 |
|
86 private: |
|
87 int32 Valuate(int32 town) const; |
|
88 }; |
|
89 |
|
90 /** |
|
91 * Get the age left for the vehicle gets 'old' for entries in an AIVehicleList instance. |
|
92 * @note resulting items are of the type int32 (age in days) |
|
93 * @note the input items are of the type VehicleID |
|
94 */ |
|
95 class AIVehicleListAgeLeft : public AIAbstractList::Valuator { |
|
96 public: |
|
97 /** |
|
98 * The name of the class, needed by several sub-processes. |
|
99 */ |
|
100 static const char *GetClassName() { return "AIVehicleListAgeLeft"; } |
|
101 |
|
102 private: |
|
103 int32 Valuate(int32 town) const; |
|
104 }; |
|
105 |
|
106 /** |
|
107 * Get the profit of this year for entries in an AIVehicleList instance. |
|
108 * @note resulting items are of the type int32 (age in days) |
|
109 * @note the input items are of the type VehicleID |
|
110 */ |
|
111 class AIVehicleListProfitThisYear : public AIAbstractList::Valuator { |
|
112 public: |
|
113 /** |
|
114 * The name of the class, needed by several sub-processes. |
|
115 */ |
|
116 static const char *GetClassName() { return "AIVehicleListProfitThisYear"; } |
|
117 |
|
118 private: |
|
119 int32 Valuate(int32 town) const; |
|
120 }; |
|
121 |
|
122 /** |
|
123 * Get the profit of last year for entries in an AIVehicleList instance. |
|
124 * @note resulting items are of the type int32 (age in days) |
|
125 * @note the input items are of the type VehicleID |
|
126 */ |
|
127 class AIVehicleListProfitLastYear : public AIAbstractList::Valuator { |
|
128 public: |
|
129 /** |
|
130 * The name of the class, needed by several sub-processes. |
|
131 */ |
|
132 static const char *GetClassName() { return "AIVehicleListProfitLastYear"; } |
|
133 |
|
134 private: |
|
135 int32 Valuate(int32 town) const; |
|
136 }; |
|
137 |
|
138 |
|
139 #endif /* AI_VEHICLELIST_VALUATOR_HPP */ |