src/ai/api/ai_station.hpp
branchnoai
changeset 9670 820b77e19bb3
parent 9666 5765eb70736d
child 9696 4384ed3de1f0
--- a/src/ai/api/ai_station.hpp	Wed Jul 18 08:38:50 2007 +0000
+++ b/src/ai/api/ai_station.hpp	Wed Jul 18 09:20:50 2007 +0000
@@ -13,6 +13,18 @@
 class AIStation : public AIObject {
 public:
 	/**
+	 * Type of stations known in the game.
+	 */
+	enum StationType {
+		STATION_ANY        = 0x00,
+		STATION_TRAIN      = 0x01,
+		STATION_TRUCK_STOP = 0x02,
+		STATION_BUS_STOP   = 0x04,
+		STATION_AIRPORT    = 0x08,
+		STATION_DOCK       = 0x10,
+	};
+
+	/**
 	 * The name of the class, needed by several sub-processes.
 	 */
 	static const char *GetClassName() { return "AIStation"; }
@@ -59,6 +71,14 @@
 	 * @return the rating in percent of the cargo on the station.
 	 */
 	static int32 GetCargoRating(StationID station_id, CargoID cargo_id);
+
+	/**
+	 * Get the coverage radius of this type of station.
+	 * @param type the type of station.
+	 * @return the radius in tiles.
+	 */
+	static int32 GetCoverageRadius(AIStation::StationType type);
 };
+DECLARE_ENUM_AS_BIT_SET(AIStation::StationType);
 
 #endif /* AI_STATION_HPP */