OpenTTD NoAI API
Public Types | Static Public Member Functions
AISign Class Reference

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

Inheritance diagram for AISign:
AIObject

Public Types

enum  ErrorMessages {
  ERR_SIGN_BASE = AIError::ERR_CAT_SIGN << AIError::ERR_CAT_BIT_SIZE,
  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, const char *name)
 Set the name of a sign.
static char * 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, const char *text)
 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

All sign related error messages.

Enumerator:
ERR_SIGN_BASE 

Base for sign building related errors.

ERR_SIGN_TOO_MANY_SIGNS 

Too many signs have been placed.


Member Function Documentation

static SignID AISign::BuildSign ( TileIndex  location,
const char *  text 
) [static]

Builds a sign on the map.

Parameters:
locationThe place to build the sign.
textThe text to place on the sign.
Precondition:
AIMap::IsValidTile(location).
'text' must have at least one character.
'text' must have at most 30 characters.
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.
static 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.
static char* 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.
static 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.
static 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.
static bool AISign::SetName ( SignID  sign_id,
const char *  name 
) [static]

Set the name of a sign.

Parameters:
sign_idThe sign to set the name for.
nameThe name for the sign.
Precondition:
IsValidSign(sign_id).
'name' must have at least one character.
'name' must have at most 30 characters.
Exceptions:
AIError::ERR_NAME_IS_NOT_UNIQUE
Returns:
True if and only if the name was changed.