OpenTTD AI API 20260208-master-g43af8e94d0
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

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()

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

Builds a sign on the map.

Parameters
locationThe place to build the sign.
nameThe 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()

TileIndex AISign::GetLocation ( SignID sign_id)
static

Gets the location of the sign.

Parameters
sign_idThe sign to get the location of.
Precondition
IsValidSign(sign_id).
Returns
The location of the sign.

◆ GetName()

string AISign::GetName ( SignID sign_id)
static

Get the name of the sign.

Parameters
sign_idThe sign to get the name of.
Precondition
IsValidSign(sign_id).
Returns
The name of the sign.

◆ IsValidSign()

bool AISign::IsValidSign ( SignID sign_id)
static

Checks whether the given sign index is valid.

Parameters
sign_idThe index to check.
Returns
True if and only if the sign is valid.

◆ RemoveSign()

bool AISign::RemoveSign ( SignID sign_id)
static

Removes a sign from the map.

Parameters
sign_idThe sign to remove.
Precondition
IsValidSign(sign_id).
Returns
True if and only if the sign has been removed.

◆ SetName()

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

Set the name of a sign.

Parameters
sign_idThe sign to set the name for.
nameThe 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.