#include <ai_station.hpp>
Public Types | |
enum | ErrorMessages { ERR_STATION_BASE = AIError::ERR_CAT_STATION << AIError::ERR_CAT_BIT_SIZE, ERR_STATION_TOO_CLOSE_TO_ANOTHER_STATION, ERR_STATION_TOO_MANY_STATIONS, ERR_STATION_TOO_MANY_STATIONS_IN_TOWN } |
All station related error messages. More... | |
enum | StationType { STATION_TRAIN = 0x01, STATION_TRUCK_STOP = 0x02, STATION_BUS_STOP = 0x04, STATION_AIRPORT = 0x08, STATION_DOCK = 0x10, STATION_ANY = 0x1F } |
Type of stations known in the game. More... | |
Static Public Member Functions | |
static const char * | GetClassName () |
static bool | IsValidStation (StationID station_id) |
Checks whether the given station is valid and owned by you. | |
static StationID | GetStationID (TileIndex tile) |
Get the StationID of a tile, if there is a station. | |
static int32 | GetCargoWaiting (StationID station_id, CargoID cargo_id) |
See how much cargo there is waiting on a station. | |
static int32 | GetCargoRating (StationID station_id, CargoID cargo_id) |
See how high the rating is of a cargo on a station. | |
static int32 | GetCoverageRadius (AIStation::StationType station_type) |
Get the coverage radius of this type of station. | |
static int32 | GetDistanceManhattanToTile (StationID station_id, TileIndex tile) |
Get the manhattan distance from the tile to the AIStation::GetLocation() of the station. | |
static int32 | GetDistanceSquareToTile (StationID station_id, TileIndex tile) |
Get the square distance from the tile to the AIStation::GetLocation() of the station. | |
static bool | IsWithinTownInfluence (StationID station_id, TownID town_id) |
Find out if this station is within the rating influence of a town. | |
static bool | HasStationType (StationID station_id, StationType station_type) |
Check if any part of the station contains a station of the type StationType. | |
static bool | HasRoadType (StationID station_id, AIRoad::RoadType road_type) |
Check if any part of the station contains a station of the type RoadType. | |
static TownID | GetNearestTown (StationID station_id) |
Get the town that was nearest to the given station when the station was built. |
Definition at line 23 of file ai_station.hpp.
All station related error messages.
Definition at line 30 of file ai_station.hpp.
Type of stations known in the game.
STATION_TRAIN | Train station. |
STATION_TRUCK_STOP | Truck station. |
STATION_BUS_STOP | Bus station. |
STATION_AIRPORT | Airport. |
STATION_DOCK | Dock. |
STATION_ANY | All station types. |
Definition at line 47 of file ai_station.hpp.
bool AIStation::IsValidStation | ( | StationID | station_id | ) | [static] |
Checks whether the given station is valid and owned by you.
station_id | The station to check. |
Definition at line 23 of file ai_station.cpp.
References SpecializedStation< Station, false >::GetIfValid(), BaseStation::owner, and OWNER_NONE.
Referenced by AIRoad::_BuildRoadStationInternal(), AITileList_StationType::AITileList_StationType(), AIAirport::BuildAirport(), AIMarine::BuildDock(), AIRail::BuildNewGRFRailStation(), AIRail::BuildRailStation(), GetCargoRating(), GetCargoWaiting(), GetDistanceManhattanToTile(), GetDistanceSquareToTile(), GetNearestTown(), HasRoadType(), HasStationType(), and IsWithinTownInfluence().
Get the StationID of a tile, if there is a station.
tile | The tile to find the stationID of |
Definition at line 29 of file ai_station.cpp.
References GetStationIndex(), IsTileType(), IsValidTile(), and MP_STATION.
See how much cargo there is waiting on a station.
station_id | The station to get the cargo-waiting of. | |
cargo_id | The cargo to get the cargo-waiting of. |
IsValidCargo(cargo_id).
Definition at line 35 of file ai_station.cpp.
References AICargo::IsValidCargo(), and IsValidStation().
See how high the rating is of a cargo on a station.
station_id | The station to get the cargo-rating of. | |
cargo_id | The cargo to get the cargo-rating of. |
IsValidCargo(cargo_id).
Definition at line 43 of file ai_station.cpp.
References SpecializedStation< Station, false >::Get(), AICargo::IsValidCargo(), IsValidStation(), and ToPercent8().
int32 AIStation::GetCoverageRadius | ( | AIStation::StationType | station_type | ) | [static] |
Get the coverage radius of this type of station.
station_type | The type of station. |
Definition at line 51 of file ai_station.cpp.
References _settings_game, CA_BUS, CA_DOCK, CA_NONE, CA_TRAIN, CA_TRUCK, CA_UNMODIFIED, CountBits(), StationSettings::modified_catchment, GameSettings::station, STATION_AIRPORT, STATION_BUS_STOP, STATION_DOCK, STATION_TRAIN, and STATION_TRUCK_STOP.
Get the manhattan distance from the tile to the AIStation::GetLocation() of the station.
station_id | The station to get the distance to. | |
tile | The tile to get the distance to. |
Definition at line 69 of file ai_station.cpp.
References AIMap::DistanceManhattan(), AIBaseStation::GetLocation(), and IsValidStation().
Get the square distance from the tile to the AIStation::GetLocation() of the station.
station_id | The station to get the distance to. | |
tile | The tile to get the distance to. |
Definition at line 76 of file ai_station.cpp.
References AIMap::DistanceSquare(), AIBaseStation::GetLocation(), and IsValidStation().
Find out if this station is within the rating influence of a town.
Stations within the radius influence the rating of the town.
station_id | The station to check. | |
town_id | The town to check. |
Definition at line 83 of file ai_station.cpp.
References AIBaseStation::GetLocation(), IsValidStation(), and AITown::IsWithinTownInfluence().
bool AIStation::HasStationType | ( | StationID | station_id, | |
StationType | station_type | |||
) | [static] |
Check if any part of the station contains a station of the type StationType.
station_id | The station to look at. | |
station_type | The StationType to look for. |
Definition at line 90 of file ai_station.cpp.
References CountBits(), SpecializedStation< Station, false >::Get(), and IsValidStation().
Referenced by AIAirport::GetAirportType().
bool AIStation::HasRoadType | ( | StationID | station_id, | |
AIRoad::RoadType | road_type | |||
) | [static] |
Check if any part of the station contains a station of the type RoadType.
station_id | The station to look at. | |
road_type | The RoadType to look for. |
Definition at line 98 of file ai_station.cpp.
References SpecializedStation< Station, false >::Get(), AIRoad::IsRoadTypeAvailable(), IsValidStation(), ROADSTOP_BUS, ROADSTOP_TRUCK, and RoadTypeToRoadTypes().
Get the town that was nearest to the given station when the station was built.
station_id | The station to look at. |
Definition at line 115 of file ai_station.cpp.
References IsValidStation().