Public Types | Static Public Member Functions

ScriptSign Class Reference

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

#include <script_sign.hpp>

Inheritance diagram for ScriptSign:
ScriptObject SimpleCountedObject

Public Types

enum  ErrorMessages { ERR_SIGN_BASE = ScriptError::ERR_CAT_SIGN << ScriptError::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, Text *name)
 Set the name of a sign.
static char * GetName (SignID sign_id)
 Get the name of the sign.
static ScriptCompany::CompanyID GetOwner (SignID sign_id)
 Get the owner of a 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.

ai game

Definition at line 22 of file script_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 27 of file script_sign.hpp.


Member Function Documentation

SignID ScriptSign::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 ScriptText object).
Precondition:
ScriptMap::IsValidTile(location).
name != NULL && len(name) != 0.
Exceptions:
ScriptSign::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 76 of file script_sign.cpp.

References CMD_PLACE_SIGN, ScriptObject::DoCommand(), ScriptInstance::DoCommandReturnSignID(), EnforcePrecondition, EnforcePreconditionCustomError, ScriptError::ERR_PRECONDITION_STRING_TOO_LONG, Text::GetEncodedText(), INVALID_SIGN, IsValidTile(), MAX_LENGTH_SIGN_NAME_CHARS, StrEmpty(), and Utf8StringLength().

TileIndex ScriptSign::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 62 of file script_sign.cpp.

References Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_sign_pool >::Get(), INVALID_TILE, IsValidSign(), and TileVirtXY().

char * ScriptSign::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 49 of file script_sign.cpp.

References IsValidSign(), and SetDParam().

ScriptCompany::CompanyID ScriptSign::GetOwner ( SignID  sign_id  )  [static]

Get the owner of a sign.

Parameters:
sign_id The sign to get the owner of.
Precondition:
IsValidSign(sign_id).
Returns:
The owner the sign has. -ai

Definition at line 29 of file script_sign.cpp.

References Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_sign_pool >::Get(), and IsValidSign().

bool ScriptSign::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 23 of file script_sign.cpp.

References ScriptObject::GetCompany(), and Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_sign_pool >::GetIfValid().

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

bool ScriptSign::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 70 of file script_sign.cpp.

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

bool ScriptSign::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 ScriptText object).
Precondition:
IsValidSign(sign_id).
name != NULL && len(name) != 0.
Exceptions:
ScriptError::ERR_NAME_IS_NOT_UNIQUE 
Returns:
True if and only if the name was changed.

Definition at line 36 of file script_sign.cpp.

References CMD_RENAME_SIGN, ScriptObject::DoCommand(), EnforcePrecondition, EnforcePreconditionCustomError, ScriptError::ERR_PRECONDITION_STRING_TOO_LONG, Text::GetEncodedText(), IsValidSign(), MAX_LENGTH_SIGN_NAME_CHARS, StrEmpty(), and Utf8StringLength().


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