Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00012 #ifndef AI_AIRPORT_HPP
00013 #define AI_AIRPORT_HPP
00014
00015 #include "ai_object.hpp"
00016
00020 class AIAirport : public AIObject {
00021 public:
00023 static const char *GetClassName() { return "AIAirport"; }
00024
00028 enum AirportType {
00029
00030 AT_SMALL = 0,
00031 AT_LARGE = 1,
00032 AT_METROPOLITAN = 3,
00033 AT_INTERNATIONAL = 4,
00034 AT_COMMUTER = 5,
00035 AT_INTERCON = 7,
00036
00037
00038 AT_HELIPORT = 2,
00039 AT_HELISTATION = 8,
00040 AT_HELIDEPOT = 6,
00041
00042 AT_INVALID = 255,
00043 };
00044
00048 enum PlaneType {
00049
00050 PT_HELICOPTER = 0,
00051 PT_SMALL_PLANE = 1,
00052 PT_BIG_PLANE = 3,
00053
00054 PT_INVALID = -1,
00055 };
00056
00063 static bool IsValidAirportType(AirportType type);
00064
00073 static bool IsAirportInformationAvailable(AirportType type);
00074
00081 static Money GetPrice(AirportType type);
00082
00089 static bool IsHangarTile(TileIndex tile);
00090
00097 static bool IsAirportTile(TileIndex tile);
00098
00105 static int32 GetAirportWidth(AirportType type);
00106
00113 static int32 GetAirportHeight(AirportType type);
00114
00121 static int32 GetAirportCoverageRadius(AirportType type);
00122
00129 static int32 GetNumHangars(TileIndex tile);
00130
00141 static TileIndex GetHangarOfAirport(TileIndex tile);
00142
00158 static bool BuildAirport(TileIndex tile, AirportType type, StationID station_id);
00159
00167 static bool RemoveAirport(TileIndex tile);
00168
00176 static AirportType GetAirportType(TileIndex tile);
00177
00187 static int GetNoiseLevelIncrease(TileIndex tile, AirportType type);
00188
00197 static TownID GetNearestTown(TileIndex tile, AirportType type);
00198 };
00199
00200 #endif