OpenTTD AI API: AIWaypoint Class Reference

OpenTTD AI API 15.2

Public Types | Static Public Member Functions
AIWaypoint Class Reference

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

`#include <script_waypoint.hpp>`

Inheritance diagram for AIWaypoint:

## Public Types
enum | ErrorMessages { ERR_WAYPOINT_BASE , ERR_WAYPOINT_TOO_CLOSE_TO_ANOTHER_WAYPOINT , ERR_WAYPOINT_ADJOINS_MULTIPLE_WAYPOINTS }
| All waypoint related error messages. More...
enum | WaypointType { WAYPOINT_RAIL , WAYPOINT_BUOY , WAYPOINT_ANY }
| Type of waypoints known in the game. More...

## Static Public Member Functions
static bool | IsValidWaypoint (StationID waypoint_id)
| Checks whether the given waypoint is valid and owned by you.
static StationID | GetWaypointID (TileIndex tile)
| Get the StationID of a tile, if there is a waypoint.
static bool | HasWaypointType (StationID waypoint_id, WaypointType waypoint_type)
| Check if any part of the waypoint contains a waypoint of the type waypoint_type.
Static Public Member Functions inherited from AIBaseStation
static bool | IsValidBaseStation (StationID station_id)
| Checks whether the given basestation is valid and owned by you.
static string | GetName (StationID station_id)
| Get the name of a basestation.
static bool | SetName (StationID station_id, Text *name)
| Set the name this basestation.
static TileIndex | GetLocation (StationID station_id)
| Get the current location of a basestation.
static AIDate::Date | GetConstructionDate (StationID station_id)
| Get the last calendar-date a station part was added to this station.

## Additional Inherited Members
Static Public Attributes inherited from AIBaseStation
static constexpr StationID | STATION_NEW = ::NEW_STATION
| Build a new station.
static constexpr StationID | STATION_JOIN_ADJACENT = ::ADJACENT_STATION
| Join an neighbouring station if one exists.
static constexpr StationID | STATION_INVALID = ::StationID::Invalid()
| Invalid station id.

## Detailed Description

Class that handles all waypoint related functions.

## Member Enumeration Documentation

## ◆ ErrorMessages

enum AIWaypoint::ErrorMessages

All waypoint related error messages.

See also
  ScriptErrorType

Enumerator
ERR_WAYPOINT_BASE | Base for waypoint related errors.
ERR_WAYPOINT_TOO_CLOSE_TO_ANOTHER_WAYPOINT | The waypoint is build too close to another waypoint.
ERR_WAYPOINT_ADJOINS_MULTIPLE_WAYPOINTS | The waypoint would join more than one existing waypoint together.

## ◆ WaypointType

enum AIWaypoint::WaypointType

Type of waypoints known in the game.

Enumerator
WAYPOINT_RAIL | Rail waypoint.
WAYPOINT_BUOY | Buoy.
WAYPOINT_ANY | All waypoint types.

## Member Function Documentation

## ◆ GetWaypointID()

static StationID AIWaypoint::GetWaypointID | ( | TileIndex | tile | ) |
| static

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

Parameters

  tile | The tile to find the StationID of.

Precondition
  IsValidTile(tile).

Returns
  StationID of the waypoint.

Postcondition
  Use IsValidWaypoint() to see if the waypoint is valid.

## ◆ HasWaypointType()

static bool AIWaypoint::HasWaypointType | ( | StationID | waypoint_id,
|  | WaypointType | waypoint_type
| ) |  |
| static

Check if any part of the waypoint contains a waypoint of the type waypoint_type.

Parameters

  waypoint_id | The waypoint to look at.
  waypoint_type | The WaypointType to look for.

Returns
  True if the waypoint has a waypoint part of the type waypoint_type.

## ◆ IsValidWaypoint()

static bool AIWaypoint::IsValidWaypoint | ( | StationID | waypoint_id | ) |
| static

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

Parameters

  waypoint_id | The waypoint to check.

Returns
  True if and only if the waypoint is valid.