Difference between revisions of "Script/LogicObject"

From SF3
Jump to: navigation, search
(Created page with "==class LogicObject== === Class Methods === {| border='0' style ='border:solid 1px #eeeedd; color: black; width: 1200px;background-color: #ffffcc;' cellspacing='0' cellpaddin...")
 
Line 1: Line 1:
 
==class LogicObject==
 
==class LogicObject==
 +
Represents a reference to a logic object in the game world.
 +
A logic object may be e.g. a switch, loot container, etc.
 +
Yes, it is kind of inconsequent to call this one LogicObject in the script but @c LevelObject in the native code, but that's what our
 +
dear scripters wanted.
 +
An instance of this class acts like a weak pointer to an existing logic object in the game world and provides an interface to interact
 +
with it.
 +
Before interacting with the object, you should call Exists() in order to check if the object actually (still) exists.
 +
IMPORTANT: This class must NOT be stored as a class member. If you want to store the object for later reference, store the id
 +
obtained by GetId instead. You can then later retrieve the object from the LevelReference class by calling GetLogicObjectById. 
  
 +
'''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 7: Line 17:
 
| style='color: black; width: 90%; line-height: 0.8;' | '''GetLogicObjectType''' () const
 
| style='color: black; width: 90%; line-height: 0.8;' | '''GetLogicObjectType''' () const
 
|-
 
|-
 +
|
 +
| style = 'color: #505050; line-height: 0.5;' |''get logic object 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;' | '''GetToggleState''' () const
 
| style='color: black; width: 90%; line-height: 0.8;' | '''GetToggleState''' () const
 
|-
 
|-
 +
|
 +
| style = 'color: #505050; line-height: 0.5;' |''get toggle state of the logic object''
 
|-
 
|-
 
| 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;' | '''SetToggleState''' (const [[../BasicDataTypes|bool]] ''_bToggled'')
 
| style='color: black; width: 90%; line-height: 0.8;' | '''SetToggleState''' (const [[../BasicDataTypes|bool]] ''_bToggled'')
 
|-
 
|-
 +
|
 +
| style = 'color: #505050; line-height: 0.5;' |''set toggle state of the logic object (e.g. position of a switch, whether a nav blocker is enabled or disabled, whether a chest is open or closed)''
 
|-
 
|-
 
| 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]]  
 
| style='color: black; width: 90%; line-height: 0.8;' | '''GetSightRange''' () const
 
| style='color: black; width: 90%; line-height: 0.8;' | '''GetSightRange''' () const
 
|-
 
|-
 +
|
 +
| style = 'color: #505050; line-height: 0.5;' |''get sight range of the logic object''
 
|-
 
|-
 
| 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;' | '''SetSightRange''' (const [[../BasicDataTypes|int]] ''_iSightRange'')
 
| style='color: black; width: 90%; line-height: 0.8;' | '''SetSightRange''' (const [[../BasicDataTypes|int]] ''_iSightRange'')
 
|-
 
|-
 +
|
 +
| style = 'color: #505050; line-height: 0.5;' |''set sight range of the logic object''
 
|-
 
|-
 
| style='color: blue; width: 10%; text-align:right;line-height: 0.8;' | [[../LogicObject|LogicObject]]&  
 
| style='color: blue; width: 10%; text-align:right;line-height: 0.8;' | [[../LogicObject|LogicObject]]&  
Line 39: Line 59:
 
| 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:56, 1 September 2016

class LogicObject

Represents a reference to a logic object in the game world. A logic object may be e.g. a switch, loot container, etc. Yes, it is kind of inconsequent to call this one LogicObject in the script but @c LevelObject in the native code, but that's what our dear scripters wanted. An instance of this class acts like a weak pointer to an existing logic object in the game world and provides an interface to interact with it. Before interacting with the object, you should call Exists() in order to check if the object actually (still) exists. IMPORTANT: This class must NOT be stored as a class member. If you want to store the object for later reference, store the id obtained by GetId instead. You can then later retrieve the object from the LevelReference class by calling GetLogicObjectById.

Inherits from: Entity

Class Methods

string GetLogicObjectType () const
get logic object type name
bool GetToggleState () const
get toggle state of the logic object
void SetToggleState (const bool _bToggled)
set toggle state of the logic object (e.g. position of a switch, whether a nav blocker is enabled or disabled, whether a chest is open or closed)
int GetSightRange () const
get sight range of the logic object
void SetSightRange (const int _iSightRange)
set sight range of the logic object
LogicObject& operator= (const LogicObject&in)
bool operator== (const LogicObject&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

class LogicObject

Class Methods

string GetLogicObjectType () const
bool GetToggleState () const
void SetToggleState (const bool _bToggled)
int GetSightRange () const
void SetSightRange (const int _iSightRange)
LogicObject& operator= (const LogicObject&in)
bool operator== (const LogicObject&in)
bool operator== (const Entity&in)
bool Exists () const
uint GetId () const
uint8 GetFaction () const
void SetFaction (const uint8 _Faction)
string GetEntityType () const
bool IsEnabled () const
void Enable (const bool _bEnabled)
bool IsInteractive () const
void SetInteractive (const bool _bInteractive)
bool CanBeAttacked () const
void SetAttackable (const bool _bAttackable)
Entity opImplConv () const