Difference between revisions of "Script/Creature"
From SF3
(→class Creature) |
|||
Line 1: | Line 1: | ||
− | ==class | + | ==class Building== |
− | Represents a reference to a | + | Represents a reference to a building in the game world. |
+ | An instance of this class acts like a weak pointer to an existing building in the game world and provides an interface to interact | ||
+ | with it. | ||
+ | Before interacting with the building, you should call Exists() in order to check if the building actually (still) exists. | ||
+ | IMPORTANT: This class must NOT be stored as a class member. If you want to store the building for later reference, store the id | ||
+ | obtained by GetId instead. You can then later retrieve the building from the LevelReference class by calling GetBuildingById. | ||
+ | |||
+ | '''Inherits from:''' [[../Entity|Entity]] | ||
=== Class Methods === | === Class Methods === | ||
{| border='0' style ='border:solid 1px #eeeedd; color: black; width: 1200px;background-color: #ffffcc;' cellspacing='0' cellpadding='7' | {| border='0' style ='border:solid 1px #eeeedd; color: black; width: 1200px;background-color: #ffffcc;' cellspacing='0' cellpadding='7' | ||
Line 8: | Line 15: | ||
|- | |- | ||
| | | | ||
− | | style = 'color: #505050; line-height: 0.5;' |''get | + | | style = 'color: #505050; line-height: 0.5;' |''get building description name'' |
|- | |- | ||
| style='color: blue; width: 10%; text-align:right;line-height: 0.8;' | [[../BasicDataTypes|string]] | | style='color: blue; width: 10%; text-align:right;line-height: 0.8;' | [[../BasicDataTypes|string]] | ||
− | | style='color: black; width: 90%; line-height: 0.8;' | ''' | + | | style='color: black; width: 90%; line-height: 0.8;' | '''GetBuildingType''' () const |
|- | |- | ||
| | | | ||
− | | style = 'color: #505050; line-height: 0.5;' |''get | + | | style = 'color: #505050; line-height: 0.5;' |''get building type name'' |
+ | |- | ||
+ | | style='color: blue; width: 10%; text-align:right;line-height: 0.8;' | [[../BasicDataTypes|string]] | ||
+ | | style='color: black; width: 90%; line-height: 0.8;' | '''GetStage''' () const | ||
+ | |- | ||
+ | | | ||
+ | | style = 'color: #505050; line-height: 0.5;' |''get current building stage name'' | ||
|- | |- | ||
| style='color: blue; width: 10%; text-align:right;line-height: 0.8;' | [[../BasicDataTypes|int]] | | style='color: blue; width: 10%; text-align:right;line-height: 0.8;' | [[../BasicDataTypes|int]] | ||
Line 20: | Line 33: | ||
|- | |- | ||
| | | | ||
− | | style = 'color: #505050; line-height: 0.5;' |''get current | + | | style = 'color: #505050; line-height: 0.5;' |''get current building health'' |
|- | |- | ||
| style='color: blue; width: 10%; text-align:right;line-height: 0.8;' | [[../BasicDataTypes|int]] | | style='color: blue; width: 10%; text-align:right;line-height: 0.8;' | [[../BasicDataTypes|int]] | ||
Line 26: | Line 39: | ||
|- | |- | ||
| | | | ||
− | | style = 'color: #505050; line-height: 0.5;' |''get maximum | + | | style = 'color: #505050; line-height: 0.5;' |''get maximum building health'' |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
|- | |- | ||
| style='color: blue; width: 10%; text-align:right;line-height: 0.8;' | [[../BasicDataTypes|void]] | | style='color: blue; width: 10%; text-align:right;line-height: 0.8;' | [[../BasicDataTypes|void]] | ||
− | | style='color: black; width: 90%; line-height: 0.8;' | ''' | + | | style='color: black; width: 90%; line-height: 0.8;' | '''Charge''' (const [[../BasicDataTypes|int]] ''_iChargePoints'') |
|- | |- | ||
| | | | ||
− | | style = 'color: #505050; line-height: 0.5;' |'' | + | | style = 'color: #505050; line-height: 0.5;' |''modify charge value of a charge type building'' |
|- | |- | ||
| style='color: blue; width: 10%; text-align:right;line-height: 0.8;' | [[../BasicDataTypes|bool]] | | style='color: blue; width: 10%; text-align:right;line-height: 0.8;' | [[../BasicDataTypes|bool]] | ||
− | | style='color: black; width: 90%; line-height: 0.8;' | ''' | + | | style='color: black; width: 90%; line-height: 0.8;' | '''IsActive''' () const |
|- | |- | ||
| | | | ||
− | | style = 'color: #505050; line-height: 0.5;' |''can | + | | style = 'color: #505050; line-height: 0.5;' |''is the building currently active? (assignments can be given by the player)'' |
|- | |- | ||
| style='color: blue; width: 10%; text-align:right;line-height: 0.8;' | [[../BasicDataTypes|void]] | | style='color: blue; width: 10%; text-align:right;line-height: 0.8;' | [[../BasicDataTypes|void]] | ||
− | | style='color: black; width: 90%; line-height: 0.8;' | ''' | + | | style='color: black; width: 90%; line-height: 0.8;' | '''SetActive''' (const [[../BasicDataTypes|bool]] ''_bActive'') |
|- | |- | ||
| | | | ||
− | | style = 'color: #505050; line-height: 0.5;' |''set whether the | + | | style = 'color: #505050; line-height: 0.5;' |''set whether the player can give assignments to the building'' |
|- | |- | ||
| style='color: blue; width: 10%; text-align:right;line-height: 0.8;' | [[../BasicDataTypes|bool]] | | style='color: blue; width: 10%; text-align:right;line-height: 0.8;' | [[../BasicDataTypes|bool]] | ||
Line 56: | Line 63: | ||
|- | |- | ||
| | | | ||
− | | style = 'color: #505050; line-height: 0.5;' |''damage the | + | | style = 'color: #505050; line-height: 0.5;' |''damage the building for _uAmount HP of the given damage type, returns true if destroyed'' |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
|- | |- | ||
| style='color: blue; width: 10%; text-align:right;line-height: 0.8;' | [[../BasicDataTypes|void]] | | style='color: blue; width: 10%; text-align:right;line-height: 0.8;' | [[../BasicDataTypes|void]] | ||
− | | style='color: black; width: 90%; line-height: 0.8;' | ''' | + | | style='color: black; width: 90%; line-height: 0.8;' | '''Destroy''' () |
|- | |- | ||
| | | | ||
− | | style = 'color: #505050; line-height: 0.5;' |'' | + | | style = 'color: #505050; line-height: 0.5;' |''immediately destroy the building'' |
|- | |- | ||
− | | style='color: blue; width: 10%; text-align:right;line-height: 0.8;' | [[../ | + | | style='color: blue; width: 10%; text-align:right;line-height: 0.8;' | [[../Building|Building]]& |
− | | style='color: black; width: 90%; line-height: 0.8;' | '''operator=''' (const [[../ | + | | style='color: black; width: 90%; line-height: 0.8;' | '''operator=''' (const [[../Building|Building]]&in) |
|- | |- | ||
|- | |- | ||
| style='color: blue; width: 10%; text-align:right;line-height: 0.8;' | [[../BasicDataTypes|bool]] | | style='color: blue; width: 10%; text-align:right;line-height: 0.8;' | [[../BasicDataTypes|bool]] | ||
− | | style='color: black; width: 90%; line-height: 0.8;' | '''operator==''' (const [[../ | + | | style='color: black; width: 90%; line-height: 0.8;' | '''operator==''' (const [[../Building|Building]]&in) |
|- | |- | ||
|- | |- | ||
Line 119: | Line 86: | ||
| style='color: black; width: 90%; line-height: 0.8;' | '''Exists''' () const | | style='color: black; width: 90%; line-height: 0.8;' | '''Exists''' () const | ||
|- | |- | ||
+ | | | ||
+ | | style = 'color: #505050; line-height: 0.5;' |''does the entity actually exist? (always check this before doing anything with the entity!)'' | ||
|- | |- | ||
| style='color: blue; width: 10%; text-align:right;line-height: 0.8;' | [[../BasicDataTypes|uint]] | | style='color: blue; width: 10%; text-align:right;line-height: 0.8;' | [[../BasicDataTypes|uint]] | ||
| style='color: black; width: 90%; line-height: 0.8;' | '''GetId''' () const | | style='color: black; width: 90%; line-height: 0.8;' | '''GetId''' () const | ||
|- | |- | ||
+ | | | ||
+ | | style = 'color: #505050; line-height: 0.5;' |''get persistent entity id, use this to save the entity for later reference.'' | ||
|- | |- | ||
| style='color: blue; width: 10%; text-align:right;line-height: 0.8;' | [[../BasicDataTypes|uint8]] | | style='color: blue; width: 10%; text-align:right;line-height: 0.8;' | [[../BasicDataTypes|uint8]] | ||
| style='color: black; width: 90%; line-height: 0.8;' | '''GetFaction''' () const | | style='color: black; width: 90%; line-height: 0.8;' | '''GetFaction''' () const | ||
|- | |- | ||
+ | | | ||
+ | | style = 'color: #505050; line-height: 0.5;' |''get owner faction'' | ||
|- | |- | ||
| style='color: blue; width: 10%; text-align:right;line-height: 0.8;' | [[../BasicDataTypes|void]] | | style='color: blue; width: 10%; text-align:right;line-height: 0.8;' | [[../BasicDataTypes|void]] | ||
| style='color: black; width: 90%; line-height: 0.8;' | '''SetFaction''' (const [[../BasicDataTypes|uint8]] ''_Faction'') | | style='color: black; width: 90%; line-height: 0.8;' | '''SetFaction''' (const [[../BasicDataTypes|uint8]] ''_Faction'') | ||
|- | |- | ||
+ | | | ||
+ | | style = 'color: #505050; line-height: 0.5;' |''set owner faction'' | ||
|- | |- | ||
| style='color: blue; width: 10%; text-align:right;line-height: 0.8;' | [[../BasicDataTypes|string]] | | style='color: blue; width: 10%; text-align:right;line-height: 0.8;' | [[../BasicDataTypes|string]] | ||
| style='color: black; width: 90%; line-height: 0.8;' | '''GetEntityType''' () const | | style='color: black; width: 90%; line-height: 0.8;' | '''GetEntityType''' () const | ||
|- | |- | ||
+ | | | ||
+ | | style = 'color: #505050; line-height: 0.5;' |''get entity type name'' | ||
|- | |- | ||
| style='color: blue; width: 10%; text-align:right;line-height: 0.8;' | [[../BasicDataTypes|bool]] | | style='color: blue; width: 10%; text-align:right;line-height: 0.8;' | [[../BasicDataTypes|bool]] | ||
| style='color: black; width: 90%; line-height: 0.8;' | '''IsEnabled''' () const | | style='color: black; width: 90%; line-height: 0.8;' | '''IsEnabled''' () const | ||
|- | |- | ||
+ | | | ||
+ | | style = 'color: #505050; line-height: 0.5;' |''whether the entity is currently enabled (i.e. is visible in the game world)'' | ||
|- | |- | ||
| style='color: blue; width: 10%; text-align:right;line-height: 0.8;' | [[../BasicDataTypes|void]] | | style='color: blue; width: 10%; text-align:right;line-height: 0.8;' | [[../BasicDataTypes|void]] | ||
| style='color: black; width: 90%; line-height: 0.8;' | '''Enable''' (const [[../BasicDataTypes|bool]] ''_bEnabled'') | | style='color: black; width: 90%; line-height: 0.8;' | '''Enable''' (const [[../BasicDataTypes|bool]] ''_bEnabled'') | ||
|- | |- | ||
+ | | | ||
+ | | style = 'color: #505050; line-height: 0.5;' |''enabled or disable the entity'' | ||
|- | |- | ||
| style='color: blue; width: 10%; text-align:right;line-height: 0.8;' | [[../BasicDataTypes|bool]] | | style='color: blue; width: 10%; text-align:right;line-height: 0.8;' | [[../BasicDataTypes|bool]] | ||
| style='color: black; width: 90%; line-height: 0.8;' | '''IsInteractive''' () const | | style='color: black; width: 90%; line-height: 0.8;' | '''IsInteractive''' () const | ||
|- | |- | ||
+ | | | ||
+ | | style = 'color: #505050; line-height: 0.5;' |''can the entity be interacted with?'' | ||
|- | |- | ||
| style='color: blue; width: 10%; text-align:right;line-height: 0.8;' | [[../BasicDataTypes|void]] | | style='color: blue; width: 10%; text-align:right;line-height: 0.8;' | [[../BasicDataTypes|void]] | ||
| style='color: black; width: 90%; line-height: 0.8;' | '''SetInteractive''' (const [[../BasicDataTypes|bool]] ''_bInteractive'') | | style='color: black; width: 90%; line-height: 0.8;' | '''SetInteractive''' (const [[../BasicDataTypes|bool]] ''_bInteractive'') | ||
|- | |- | ||
+ | | | ||
+ | | style = 'color: #505050; line-height: 0.5;' |''set whether the entity can be interacted with'' | ||
|- | |- | ||
| style='color: blue; width: 10%; text-align:right;line-height: 0.8;' | [[../BasicDataTypes|bool]] | | style='color: blue; width: 10%; text-align:right;line-height: 0.8;' | [[../BasicDataTypes|bool]] | ||
| style='color: black; width: 90%; line-height: 0.8;' | '''CanBeAttacked''' () const | | style='color: black; width: 90%; line-height: 0.8;' | '''CanBeAttacked''' () const | ||
|- | |- | ||
+ | | | ||
+ | | style = 'color: #505050; line-height: 0.5;' |''can the entity be attacked?'' | ||
|- | |- | ||
| style='color: blue; width: 10%; text-align:right;line-height: 0.8;' | [[../BasicDataTypes|void]] | | style='color: blue; width: 10%; text-align:right;line-height: 0.8;' | [[../BasicDataTypes|void]] | ||
| style='color: black; width: 90%; line-height: 0.8;' | '''SetAttackable''' (const [[../BasicDataTypes|bool]] ''_bAttackable'') | | style='color: black; width: 90%; line-height: 0.8;' | '''SetAttackable''' (const [[../BasicDataTypes|bool]] ''_bAttackable'') | ||
|- | |- | ||
+ | | | ||
+ | | style = 'color: #505050; line-height: 0.5;' |''set whether the entity can be attacked'' | ||
|- | |- | ||
| style='color: blue; width: 10%; text-align:right;line-height: 0.8;' | [[../Entity|Entity]] | | style='color: blue; width: 10%; text-align:right;line-height: 0.8;' | [[../Entity|Entity]] |
Revision as of 08:50, 1 September 2016
class Building
Represents a reference to a building in the game world. An instance of this class acts like a weak pointer to an existing building in the game world and provides an interface to interact with it. Before interacting with the building, you should call Exists() in order to check if the building actually (still) exists. IMPORTANT: This class must NOT be stored as a class member. If you want to store the building for later reference, store the id obtained by GetId instead. You can then later retrieve the building from the LevelReference class by calling GetBuildingById.
Inherits from: Entity
Class Methods
string | GetDescriptionName () const |
get building description name | |
string | GetBuildingType () const |
get building type name | |
string | GetStage () const |
get current building stage name | |
int | GetCurrentHP () const |
get current building health | |
int | GetMaxHP () const |
get maximum building health | |
void | Charge (const int _iChargePoints) |
modify charge value of a charge type building | |
bool | IsActive () const |
is the building currently active? (assignments can be given by the player) | |
void | SetActive (const bool _bActive) |
set whether the player can give assignments to the building | |
bool | Damage (const string&in _sDamageTypeName, const uint _uAmount) |
damage the building for _uAmount HP of the given damage type, returns true if destroyed | |
void | Destroy () |
immediately destroy the building | |
Building& | operator= (const Building&in) |
bool | operator== (const Building&in) |
bool | operator== (const Entity&in) |
bool | Exists () const |
does the entity actually exist? (always check this before doing anything with the entity!) | |
uint | GetId () const |
get persistent entity id, use this to save the entity for later reference. | |
uint8 | GetFaction () const |
get owner faction | |
void | SetFaction (const uint8 _Faction) |
set owner faction | |
string | GetEntityType () const |
get entity type name | |
bool | IsEnabled () const |
whether the entity is currently enabled (i.e. is visible in the game world) | |
void | Enable (const bool _bEnabled) |
enabled or disable the entity | |
bool | IsInteractive () const |
can the entity be interacted with? | |
void | SetInteractive (const bool _bInteractive) |
set whether the entity can be interacted with | |
bool | CanBeAttacked () const |
can the entity be attacked? | |
void | SetAttackable (const bool _bAttackable) |
set whether the entity can be attacked | |
Entity | opImplConv () const |