AIStation Class Reference

Class that handles all station related functions. More...

Inheritance diagram for AIStation:

AIBaseStation AIObject

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 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.

Detailed Description

Class that handles all station related functions.

Member Enumeration Documentation

All station related error messages.

Enumerator:
ERR_STATION_BASE  Base for station related errors.
ERR_STATION_TOO_CLOSE_TO_ANOTHER_STATION  The station is build too close to another station, airport or dock.
ERR_STATION_TOO_MANY_STATIONS  There are too many stations, airports and docks in the game.
ERR_STATION_TOO_MANY_STATIONS_IN_TOWN  There are too many stations, airports of docks in a town.

Type of stations known in the game.

Enumerator:
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.


Member Function Documentation

static bool AIStation::IsValidStation ( StationID  station_id  )  [static]

Checks whether the given station is valid and owned by you.

Parameters:
station_id The station to check.
Returns:
True if and only if the station is valid.

static StationID AIStation::GetStationID ( TileIndex  tile  )  [static]

Get the StationID of a tile, if there is a station.

Parameters:
tile The tile to find the stationID of
Returns:
StationID of the station.
Postcondition:
Use IsValidStation() to see if the station is valid.

static int32 AIStation::GetCargoWaiting ( StationID  station_id,
CargoID  cargo_id 
) [static]

See how much cargo there is waiting on a station.

Parameters:
station_id The station to get the cargo-waiting of.
cargo_id The cargo to get the cargo-waiting of.
Precondition:
IsValidStation(station_id).

IsValidCargo(cargo_id).

Returns:
The amount of units waiting at the station.

static int32 AIStation::GetCargoRating ( StationID  station_id,
CargoID  cargo_id 
) [static]

See how high the rating is of a cargo on a station.

Parameters:
station_id The station to get the cargo-rating of.
cargo_id The cargo to get the cargo-rating of.
Precondition:
IsValidStation(station_id).

IsValidCargo(cargo_id).

Returns:
The rating in percent of the cargo on the station.

static int32 AIStation::GetCoverageRadius ( AIStation::StationType  station_type  )  [static]

Get the coverage radius of this type of station.

Parameters:
station_type The type of station.
Returns:
The radius in tiles.

static int32 AIStation::GetDistanceManhattanToTile ( StationID  station_id,
TileIndex  tile 
) [static]

Get the manhattan distance from the tile to the AIStation::GetLocation() of the station.

Parameters:
station_id The station to get the distance to.
tile The tile to get the distance to.
Precondition:
IsValidStation(station_id).
Returns:
The distance between station and tile.

static int32 AIStation::GetDistanceSquareToTile ( StationID  station_id,
TileIndex  tile 
) [static]

Get the square distance from the tile to the AIStation::GetLocation() of the station.

Parameters:
station_id The station to get the distance to.
tile The tile to get the distance to.
Precondition:
IsValidStation(station_id).
Returns:
The distance between station and tile.

static bool AIStation::IsWithinTownInfluence ( StationID  station_id,
TownID  town_id 
) [static]

Find out if this station is within the rating influence of a town.

Stations within the radius influence the rating of the town.

Parameters:
station_id The station to check.
town_id The town to check.
Returns:
True if the tile is within the rating influence of the town.

static bool AIStation::HasStationType ( StationID  station_id,
StationType  station_type 
) [static]

Check if any part of the station contains a station of the type StationType.

Parameters:
station_id The station to look at.
station_type The StationType to look for.
Returns:
True if the station has a station part of the type StationType.

static 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.

Parameters:
station_id The station to look at.
road_type The RoadType to look for.
Returns:
True if the station has a station part of the type RoadType.

static TownID AIStation::GetNearestTown ( StationID  station_id  )  [static]

Get the town that was nearest to the given station when the station was built.

Parameters:
station_id The station to look at.
Returns:
The TownID of the town whose center tile was closest to the station at the time the station was built.
Note:
There is no guarantee that the station is even near the returned town nor that the returns town is closest to the station now. A station that was 'walked' to the other end of the map will still return the same town. Also, towns grow, towns change. So don't depend on this value too much.


Generated on Wed Sep 15 14:11:49 2010 for OpenTTD NoAI API by  doxygen 1.5.6