OpenTTD GameScript API: GSBaseStation Class Reference

OpenTTD GameScript API 13.0-beta2

Public Types | Static Public Member Functions
GSBaseStation Class Reference

Base class for stations and waypoints. More...

Inheritance diagram for GSBaseStation:

## Public Types
enum | SpecialStationIDs { STATION_NEW, STATION_JOIN_ADJACENT, STATION_INVALID }
| Special station IDs for building adjacent/new stations when the adjacent/distant join features are enabled. More...

## Static Public Member Functions
static bool | IsValidBaseStation (StationID station_id)
| Checks whether the given basestation is valid and owned by you. More...
static char * | GetName (StationID station_id)
| Get the name of a basestation. More...
static bool | SetName (StationID station_id, Text *name)
| Set the name this basestation. More...
static TileIndex | GetLocation (StationID station_id)
| Get the current location of a basestation. More...
static GSDate::Date | GetConstructionDate (StationID station_id)
| Get the last date a station part was added to this station. More...

## Detailed Description

Base class for stations and waypoints.

## Member Enumeration Documentation

## ◆ SpecialStationIDs

enum GSBaseStation::SpecialStationIDs

Special station IDs for building adjacent/new stations when the adjacent/distant join features are enabled.

Enumerator
STATION_NEW | Build a new station.
STATION_JOIN_ADJACENT | Join an neighbouring station if one exists.
STATION_INVALID | Invalid station id.

## Member Function Documentation

## ◆ GetConstructionDate()

static GSDate::Date GSBaseStation::GetConstructionDate | ( | StationID | station_id | ) |
| static

Get the last date a station part was added to this station.

Parameters

  station_id | The station to look at.

Returns
  The last date some part of this station was build.

## ◆ GetLocation()

static TileIndex GSBaseStation::GetLocation | ( | StationID | station_id | ) |
| static

Get the current location of a basestation.

Parameters

  station_id | The basestation to get the location of.

Precondition
  IsValidBaseStation(station_id).

Returns
  The tile the basestation sign above it.

Note
  The tile is not necessarily a station tile (and if it is, it could also belong to another station).

See also
  GSTileList_StationType.

## ◆ GetName()

static char* GSBaseStation::GetName | ( | StationID | station_id | ) |
| static

Get the name of a basestation.

Parameters

  station_id | The basestation to get the name of.

Precondition
  IsValidBaseStation(station_id).

Returns
  The name of the station.

## ◆ IsValidBaseStation()

static bool GSBaseStation::IsValidBaseStation | ( | StationID | station_id | ) |
| static

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

Parameters

  station_id | The station to check.

Returns
  True if and only if the basestation is valid.

Note
  IsValidBaseStation == (IsValidStation || IsValidWaypoint).

## ◆ SetName()

static bool GSBaseStation::SetName | ( | StationID | station_id,
|  | Text * | name
| ) |  |
| static

Set the name this basestation.

Parameters

  station_id | The basestation to set the name of.
  name | The new name of the station (can be either a raw string, or a GSText object).

Precondition
  IsValidBaseStation(station_id).
  name != nullptr && len(name) != 0.
  Valid GSCompanyMode active in scope.

Exceptions

  GSError::ERR_NAME_IS_NOT_UNIQUE |

Returns
  True if the name was changed.