ai_airport.hpp
Go to the documentation of this file.00001
00002
00005 #ifndef AI_AIRPORT_HPP
00006 #define AI_AIRPORT_HPP
00007
00008 #include "ai_object.hpp"
00009
00013 class AIAirport : public AIObject {
00014 public:
00015 static const char *GetClassName() { return "AIAirport"; }
00016
00020 enum AirportType {
00021
00022 AT_SMALL = 0,
00023 AT_LARGE = 1,
00024 AT_METROPOLITAN = 3,
00025 AT_INTERNATIONAL = 4,
00026 AT_COMMUTER = 5,
00027 AT_INTERCON = 7,
00028
00029
00030 AT_HELIPORT = 2,
00031 AT_HELISTATION = 8,
00032 AT_HELIDEPOT = 6,
00033
00034 AT_INVALID = 255,
00035 };
00036
00040 enum PlaneType {
00041
00042 PT_HELICOPTER = 0,
00043 PT_SMALL_PLANE = 1,
00044 PT_BIG_PLANE = 3,
00045
00046 PT_INVALID = -1,
00047 };
00048
00055 static bool IsValidAirportType(AirportType type);
00056
00065 static bool IsAirportInformationAvailable(AirportType type);
00066
00073 static Money GetPrice(AirportType type);
00074
00081 static bool IsHangarTile(TileIndex tile);
00082
00089 static bool IsAirportTile(TileIndex tile);
00090
00097 static int32 GetAirportWidth(AirportType type);
00098
00105 static int32 GetAirportHeight(AirportType type);
00106
00113 static int32 GetAirportCoverageRadius(AirportType type);
00114
00121 static int32 GetNumHangars(TileIndex tile);
00122
00133 static TileIndex GetHangarOfAirport(TileIndex tile);
00134
00150 static bool BuildAirport(TileIndex tile, AirportType type, StationID station_id);
00151
00159 static bool RemoveAirport(TileIndex tile);
00160
00168 static AirportType GetAirportType(TileIndex tile);
00169
00178 static int GetNoiseLevelIncrease(TileIndex tile, AirportType type);
00179
00188 static TownID GetNearestTown(TileIndex tile, AirportType type);
00189 };
00190
00191 #endif