OpenTTD AI API: AISign Class Reference

OpenTTD AI API 15.0-beta2

Public Types | Static Public Member Functions
AISign Class Reference

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

`#include <script_sign.hpp>`

Inheritance diagram for AISign:

## Public Types
enum | ErrorMessages { ERR_SIGN_BASE , ERR_SIGN_TOO_MANY_SIGNS }
| All sign related error messages. More...

## Static Public Member Functions
static bool | IsValidSign (SignID sign_id)
| Checks whether the given sign index is valid.
static bool | SetName (SignID sign_id, Text *name)
| Set the name of a sign.
static string | GetName (SignID sign_id)
| Get the name of the sign.
static TileIndex | GetLocation (SignID sign_id)
| Gets the location of the sign.
static SignID | BuildSign (TileIndex location, Text *name)
| Builds a sign on the map.
static bool | RemoveSign (SignID sign_id)
| Removes a sign from the map.

## Detailed Description

Class that handles all sign related functions.

## Member Enumeration Documentation

## ◆ ErrorMessages

enum AISign::ErrorMessages

All sign related error messages.

See also
  ScriptErrorType

Enumerator
ERR_SIGN_BASE | Base for sign building related errors.
ERR_SIGN_TOO_MANY_SIGNS | Too many signs have been placed.

## Member Function Documentation

## ◆ BuildSign()

static SignID AISign::BuildSign | ( | TileIndex | location,
|  | Text * | name
| ) |  |
| static

Builds a sign on the map.

Parameters

  location | The place to build the sign.
  name | The text to place on the sign (can be either a raw string, or a AIText object).

Precondition
  AIMap::IsValidTile(location).
  name != null && len(name) != 0.

Exceptions

  AISign::ERR_SIGN_TOO_MANY_SIGNS |

Returns
  The SignID of the build sign (use IsValidSign() to check for validity). In test-mode it returns 0 if successful, or any other value to indicate failure.

## ◆ GetLocation()

static TileIndex AISign::GetLocation | ( | SignID | sign_id | ) |
| static

Gets the location of the sign.

Parameters

  sign_id | The sign to get the location of.

Precondition
  IsValidSign(sign_id).

Returns
  The location of the sign.

## ◆ GetName()

static string AISign::GetName | ( | SignID | sign_id | ) |
| static

Get the name of the sign.

Parameters

  sign_id | The sign to get the name of.

Precondition
  IsValidSign(sign_id).

Returns
  The name of the sign.

## ◆ IsValidSign()

static bool AISign::IsValidSign | ( | SignID | sign_id | ) |
| static

Checks whether the given sign index is valid.

Parameters

  sign_id | The index to check.

Returns
  True if and only if the sign is valid.

## ◆ RemoveSign()

static bool AISign::RemoveSign | ( | SignID | sign_id | ) |
| static

Removes a sign from the map.

Parameters

  sign_id | The sign to remove.

Precondition
  IsValidSign(sign_id).

Returns
  True if and only if the sign has been removed.

## ◆ SetName()

static bool AISign::SetName | ( | SignID | sign_id,
|  | Text * | name
| ) |  |
| static

Set the name of a sign.

Parameters

  sign_id | The sign to set the name for.
  name | The name for the sign (can be either a raw string, or a AIText object).

Precondition
  IsValidSign(sign_id).
  name != null && len(name) != 0.

Exceptions

  AIError::ERR_NAME_IS_NOT_UNIQUE |

Returns
  True if and only if the name was changed.