4 |
4 |
5 #ifndef AI_STATIONLIST_HPP |
5 #ifndef AI_STATIONLIST_HPP |
6 #define AI_STATIONLIST_HPP |
6 #define AI_STATIONLIST_HPP |
7 |
7 |
8 #include "ai_abstractlist.hpp" |
8 #include "ai_abstractlist.hpp" |
|
9 #include "ai_station.hpp" |
9 |
10 |
10 /** |
11 /** |
11 * Class that creates a list of stations you own. |
12 * Class that creates a list of stations you own. |
12 */ |
13 */ |
13 class AIStationList : public AIAbstractList { |
14 class AIStationList : public AIAbstractList { |
14 public: |
15 public: |
15 /** |
|
16 * Type of stations to get the list of. |
|
17 * You you give BUS_STOP + TRAIN, and a station only has a |
|
18 * bus-stop, it will be considered a hit. |
|
19 */ |
|
20 enum StationType { |
|
21 STATION_ANY = 0x00, |
|
22 STATION_TRAIN = 0x01, |
|
23 STATION_TRUCK_STOP = 0x02, |
|
24 STATION_BUS_STOP = 0x04, |
|
25 STATION_AIRPORT = 0x08, |
|
26 STATION_DOCK = 0x10, |
|
27 }; |
|
28 |
|
29 /** |
16 /** |
30 * The name of the class, needed by several sub-processes. |
17 * The name of the class, needed by several sub-processes. |
31 */ |
18 */ |
32 static const char *GetClassName() { return "AIStationList"; } |
19 static const char *GetClassName() { return "AIStationList"; } |
33 |
20 |
34 /** |
21 /** |
35 * The constructor to make a list of stations. |
22 * The constructor to make a list of stations. |
36 * @param type The type of station you want a list of. |
23 * @param type The type of station you want a list of. |
37 */ |
24 */ |
38 AIStationList(AIStationList::StationType type); |
25 AIStationList(AIStation::StationType type); |
39 }; |
26 }; |
40 DECLARE_ENUM_AS_BIT_SET(AIStationList::StationType); |
|
41 |
27 |
42 /** |
28 /** |
43 * Class that creates a list of stations the vehicles goes to. |
29 * Class that creates a list of stations the vehicles goes to. |
44 */ |
30 */ |
45 class AIVehicleStationList : public AIAbstractList { |
31 class AIVehicleStationList : public AIAbstractList { |