From SF3
Jump to: navigation, search

class Entity

Represents a reference to an entity in the game world (e.g. a building, creature, etc.).

An instance of this class acts like a weak pointer to an existing entity in the game world and provides an interface to interact with it. Before interacting with the entity, you should call Exists() in order to check if the entity actually (still) exists. IMPORTANT: This class must NOT be stored as a class member. If you want to store the entity for later reference, store the id obtained by GetId instead. You can then later retrieve the entity from the LevelReference class by calling GetEntityById.

Class Methods

Entity& operator= (const Entity&in)
bool operator== (const Entity&in)
Building opConv () const
Creature opConv () const
LogicObject opConv () const
ResourceDeposit opConv () const
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
EEntityType GetEntityType () const
get entity type
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 IsSelectable () const
can the entity (theoretically) be selected by the player?
void SetSelectable (const bool _bSelectable)
set whether the entity can be selected by the player

(note that depending on the type of entity, there may be additional checks preventing the entity from being selected)

bool IsBusy () const
is the entity currently marked as busy?
void SetBusy (const bool _bBusy)
mark the entity as busy
bool HasInspectionText () const
check whether the entity currently has an inspection text
void SetInspectionText (const uint _uTextId)
make the entity inspectable and set the text to be displayed upon inspection
bool CanBeAttacked () const
can the entity be attacked?
void SetAttackable (const bool _bAttackable)
set whether the entity can be attacked