AISign Class Reference

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

#include <ai_sign.hpp>

Inheritance diagram for AISign:

AIObject SimpleCountedObject

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 const char * GetClassName ()
static SignID GetMaxSignID ()
 Gets the maximum sign index; there are no valid signs with a higher index.
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.

Definition at line 15 of file ai_sign.hpp.


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.

Definition at line 22 of file ai_sign.hpp.


Member Function Documentation

SignID AISign::GetMaxSignID (  )  [static]

Gets the maximum sign index; there are no valid signs with a higher index.

Deprecated:
This function is deprecated and might be removed in future versions of the API. Use AISignList() instead.
Returns:
The maximum sign index.
Postcondition:
Return value is always non-negative.

Definition at line 16 of file ai_sign.cpp.

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.

Definition at line 21 of file ai_sign.cpp.

Referenced by GetLocation(), GetName(), RemoveSign(), and SetName().

bool AISign::SetName ( SignID  sign_id,
const char *  name 
) [static]

Set the name of a sign.

Parameters:
sign_id The sign to set the name for.
name The 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.

Definition at line 26 of file ai_sign.cpp.

References CMD_RENAME_SIGN, AIObject::DoCommand(), EnforcePrecondition, EnforcePreconditionCustomError, AIError::ERR_PRECONDITION_STRING_TOO_LONG, IsValidSign(), MAX_LENGTH_SIGN_NAME_BYTES, and StrEmpty().

char * 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.

Definition at line 35 of file ai_sign.cpp.

References IsValidSign().

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.

Definition at line 48 of file ai_sign.cpp.

References INVALID_TILE, and IsValidSign().

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

Builds a sign on the map.

Parameters:
location The place to build the sign.
text The 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.

Definition at line 62 of file ai_sign.cpp.

References CMD_PLACE_SIGN, AIObject::DoCommand(), EnforcePrecondition, EnforcePreconditionCustomError, AIError::ERR_PRECONDITION_STRING_TOO_LONG, IsValidTile(), MAX_LENGTH_SIGN_NAME_BYTES, and StrEmpty().

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.

Definition at line 56 of file ai_sign.cpp.

References CMD_RENAME_SIGN, AIObject::DoCommand(), EnforcePrecondition, and IsValidSign().


The documentation for this class was generated from the following files:

Generated on Fri Jul 31 22:33:36 2009 for OpenTTD by  doxygen 1.5.6