src/ai/api/ai_stationlist.hpp
branchnoai
changeset 9670 820b77e19bb3
parent 9669 366771e15a2c
child 9745 fb2454d70f37
equal deleted inserted replaced
9669:366771e15a2c 9670:820b77e19bb3
     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 {