xoreos
0.0.5
|
#include <placeable.h>
Public Types | |
enum | State { kStateDefault = 0, kStateOpen = 1, kStateClosed = 2, kStateDestroyed = 3, kStateActivated = 4, kStateDeactivated = 5 } |
The state of a placeable. More... | |
Public Member Functions | |
Placeable (const Aurora::GFF3Struct &placeable) | |
Load from a placeable instance. More... | |
~Placeable () | |
void | show () |
Show the placeable's model. More... | |
void | hide () |
Hide the placeable's model. More... | |
bool | isOpen () const |
Is the placeable open? More... | |
bool | isActivated () const |
Is the placeable activated? More... | |
bool | open (Object *opener) |
The opener object opens this placeable. More... | |
bool | close (Object *closer) |
The closer object closes this placeable. More... | |
bool | activate (Object *opener) |
The user object activates this placeable. More... | |
bool | deactivate (Object *closer) |
The user object deactivates this placeable. More... | |
void | enter () |
The cursor entered the placeable. More... | |
void | leave () |
The cursor left the placeable. More... | |
void | highlight (bool enabled) |
(Un)Highlight the placeable. More... | |
bool | click (Object *triggerer=0) |
The placeable was clicked. More... | |
Public Member Functions inherited from Engines::NWN2::Situated | |
~Situated () | |
void | loadModel () |
Load the situated object's model. More... | |
void | unloadModel () |
Unload the situated object's model. More... | |
void | show () |
Show the situated object's model. More... | |
void | hide () |
Hide the situated object's model. More... | |
bool | isLocked () const |
Is the situated object locked? More... | |
virtual void | setLocked (bool locked) |
Lock/Unlock the situated object. More... | |
Object * | getLastOpenedBy () const |
Return the object that last opened this situated object. More... | |
Object * | getLastClosedBy () const |
Return the object that last closed this situated object. More... | |
Object * | getLastUsedBy () const |
Return the object that last used this situated object. More... | |
void | setPosition (float x, float y, float z) |
Set the situated object's position. More... | |
void | setOrientation (float x, float y, float z, float angle) |
Set the situated object's orientation. More... | |
Public Member Functions inherited from Engines::NWN2::Object | |
Object (ObjectType type=kObjectTypeInvalid) | |
virtual | ~Object () |
ObjectType | getType () const |
Return the exact type of the object. More... | |
const std::list< uint32 > & | getIDs () const |
Return the object's model IDs. More... | |
const Common::UString & | getName () const |
Return the object's name. More... | |
const Common::UString & | getDescription () const |
Return the object's description. More... | |
const Common::UString & | getConversation () const |
Return the object's default conversation (DLG). More... | |
const Aurora::SSFFile * | getSSF () |
Return the object's sound set. More... | |
bool | isStatic () const |
Is the object static (not manipulable at all)? More... | |
bool | isUsable () const |
Can the object be used by the PC? More... | |
bool | isClickable () const |
Can the player click the object? More... | |
Area * | getArea () const |
Return the area this object is currently in. More... | |
void | setArea (Area *) |
Set the area this object is currently in. More... | |
virtual void | getPosition (float &x, float &y, float &z) const |
Return the object's position within its area. More... | |
virtual void | getOrientation (float &x, float &y, float &z, float &angle) const |
Return the object's orientation. More... | |
Location | getLocation () const |
Create a Location out of the object's area, position and orientation. More... | |
void | speakString (const Common::UString &string, uint32 volume) |
Speak the specified string. More... | |
void | speakOneLiner (Common::UString conv, Object *tokenTarget=0) |
Speak an one-liner from the specified conversation file. More... | |
void | stopSound () |
Stop the current object sound. More... | |
void | playSound (const Common::UString &sound, bool pitchVariance=false) |
Play an object sound. More... | |
Public Member Functions inherited from Aurora::NWScript::Object | |
Object () | |
uint32 | getID () const |
const Common::UString & | getTag () const |
Public Member Functions inherited from Aurora::NWScript::VariableContainer | |
VariableContainer () | |
virtual | ~VariableContainer () |
bool | hasVariable (const Common::UString &var) const |
Variable & | getVariable (const Common::UString &var, Type type=kTypeVoid) |
const Variable & | getVariable (const Common::UString &var) const |
void | setVariable (const Common::UString &var, const Variable &value) |
void | removeVariable (const Common::UString &var) |
void | clearVariables () |
Public Member Functions inherited from Engines::NWN2::ScriptContainer | |
ScriptContainer () | |
~ScriptContainer () | |
const Common::UString & | getScript (Script script) const |
bool | hasScript (Script script) const |
bool | runScript (Script script, const Aurora::NWScript::ObjectReference owner=Aurora::NWScript::ObjectReference(), const Aurora::NWScript::ObjectReference triggerer=Aurora::NWScript::ObjectReference()) |
Protected Member Functions | |
void | loadObject (const Aurora::GFF3Struct &gff) |
Load placeable-specific properties. More... | |
void | loadAppearance () |
Load appearance-specific properties. More... | |
Protected Member Functions inherited from Engines::NWN2::Situated | |
Situated (ObjectType type) | |
void | load (const Aurora::GFF3Struct &instance, const Aurora::GFF3Struct *blueprint=0) |
Load the situated object from an instance and its blueprint. More... | |
Protected Member Functions inherited from Engines::NWN2::Object | |
void | loadSSF () |
Load the object's sound set. More... | |
void | readVarTable (const Aurora::GFF3List &varTable) |
Read the object's variable table. More... | |
void | readVarTable (const Aurora::GFF3Struct &gff) |
Protected Member Functions inherited from Engines::NWN2::ScriptContainer | |
void | clearScripts () |
void | readScripts (const Aurora::GFF3Struct &gff) |
void | readScripts (const ScriptContainer &container) |
Private Member Functions | |
void | load (const Aurora::GFF3Struct &placeable) |
Load from a placeable instance. More... | |
void | setModelState () |
Sync the model's state with the placeable's state. More... | |
Private Attributes | |
State | _state |
The current state of the placeable. More... | |
bool | _hasInventory |
Does this placeable have an inventory? More... | |
Additional Inherited Members | |
Static Public Member Functions inherited from Engines::NWN2::ScriptContainer | |
static bool | runScript (const Common::UString &script, const Aurora::NWScript::ObjectReference owner=Aurora::NWScript::ObjectReference(), const Aurora::NWScript::ObjectReference triggerer=Aurora::NWScript::ObjectReference()) |
static bool | runScript (const Common::UString &script, const Aurora::NWScript::ScriptState &state, const Aurora::NWScript::ObjectReference owner=Aurora::NWScript::ObjectReference(), const Aurora::NWScript::ObjectReference triggerer=Aurora::NWScript::ObjectReference()) |
Protected Attributes inherited from Engines::NWN2::Situated | |
Common::UString | _modelName |
The model's resource name. More... | |
uint32 | _appearanceID |
The index within the situated appearance 2DA. More... | |
uint32 | _soundAppType |
The index within the situated sounds 2DA. More... | |
bool | _locked |
Is the situated object locked? More... | |
Common::UString | _soundOpened |
The sound the object makes when opened. More... | |
Common::UString | _soundClosed |
The sound the object makes when closed. More... | |
Common::UString | _soundDestroyed |
The sound the object makes when destroyed. More... | |
Common::UString | _soundUsed |
The sound the object makes when used. More... | |
Common::UString | _soundLocked |
The sound the object makes when locked. More... | |
float | _tint [3][4] |
Object * | _lastOpenedBy |
The object that last opened this situated object. More... | |
Object * | _lastClosedBy |
The object that last closed this situated object. More... | |
Object * | _lastUsedBy |
The object that last used this situated object. More... | |
Common::ScopedPtr< Graphics::Aurora::Model > | _model |
The situated object's model. More... | |
Protected Attributes inherited from Engines::NWN2::Object | |
ObjectType | _type |
The object's type. More... | |
Common::UString | _name |
The object's display name. More... | |
Common::UString | _description |
The object's description. More... | |
Common::UString | _conversation |
The object's default conversation. More... | |
uint32 | _soundSet |
The object's sound set, as an index into soundset.2da. More... | |
Common::ScopedPtr< Aurora::SSFFile > | _ssf |
The object's sound set. More... | |
bool | _static |
Is the object static? More... | |
bool | _usable |
Is the object usable? More... | |
std::list< uint32 > | _ids |
The object's model IDs. More... | |
Area * | _area |
The area the object is currently in. More... | |
float | _position [3] |
The object's position. More... | |
float | _orientation [4] |
The object's orientation. More... | |
Sound::ChannelHandle | _sound |
The currently playing object sound. More... | |
Protected Attributes inherited from Aurora::NWScript::Object | |
uint32 | _id |
Common::UString | _tag |
Definition at line 36 of file placeable.h.
The state of a placeable.
Enumerator | |
---|---|
kStateDefault | Default. |
kStateOpen | Open. |
kStateClosed | Closed. |
kStateDestroyed | Destroyed. |
kStateActivated | Activated. |
kStateDeactivated | Deactivated. |
Definition at line 39 of file placeable.h.
Engines::NWN2::Placeable::Placeable | ( | const Aurora::GFF3Struct & | placeable | ) |
Load from a placeable instance.
Definition at line 42 of file placeable.cpp.
References load().
Engines::NWN2::Placeable::~Placeable | ( | ) |
Definition at line 48 of file placeable.cpp.
bool Engines::NWN2::Placeable::activate | ( | Object * | opener | ) |
The user object activates this placeable.
Definition at line 219 of file placeable.cpp.
References _hasInventory, Engines::NWN2::Situated::_soundLocked, Engines::NWN2::Situated::_soundUsed, _state, isActivated(), Engines::NWN2::Situated::isLocked(), Engines::NWN2::kScriptUsed, kStateActivated, Engines::NWN2::Object::playSound(), and Engines::NWN2::ScriptContainer::runScript().
Referenced by click().
|
virtual |
The placeable was clicked.
Reimplemented from Engines::NWN2::Object.
Definition at line 152 of file placeable.cpp.
References _hasInventory, Engines::NWN2::Situated::_lastUsedBy, Engines::NWN2::Situated::_soundLocked, _state, activate(), close(), deactivate(), isActivated(), Engines::NWN2::Situated::isLocked(), isOpen(), kStateDestroyed, open(), and Engines::NWN2::Object::playSound().
bool Engines::NWN2::Placeable::close | ( | Object * | closer | ) |
The closer object closes this placeable.
Definition at line 202 of file placeable.cpp.
References _hasInventory, Engines::NWN2::Situated::_lastClosedBy, Engines::NWN2::Situated::_soundClosed, _state, isOpen(), Engines::NWN2::kScriptClosed, kStateClosed, Engines::NWN2::Object::playSound(), and Engines::NWN2::ScriptContainer::runScript().
Referenced by click().
bool Engines::NWN2::Placeable::deactivate | ( | Object * | closer | ) |
The user object deactivates this placeable.
Definition at line 239 of file placeable.cpp.
References _hasInventory, Engines::NWN2::Situated::_soundLocked, Engines::NWN2::Situated::_soundUsed, _state, isActivated(), Engines::NWN2::Situated::isLocked(), Engines::NWN2::kScriptUsed, kStateDeactivated, Engines::NWN2::Object::playSound(), and Engines::NWN2::ScriptContainer::runScript().
Referenced by click().
|
virtual |
The cursor entered the placeable.
Reimplemented from Engines::NWN2::Object.
Definition at line 131 of file placeable.cpp.
References highlight().
|
virtual |
Hide the placeable's model.
Reimplemented from Engines::NWN2::Object.
Definition at line 103 of file placeable.cpp.
References Engines::NWN2::Situated::hide(), and leave().
|
virtual |
(Un)Highlight the placeable.
Reimplemented from Engines::NWN2::Object.
Definition at line 139 of file placeable.cpp.
References Engines::NWN2::Situated::_model.
Referenced by enter(), and leave().
bool Engines::NWN2::Placeable::isActivated | ( | ) | const |
Is the placeable activated?
Definition at line 148 of file placeable.cpp.
References isOpen().
Referenced by activate(), click(), and deactivate().
|
virtual |
Is the placeable open?
Implements Engines::NWN2::Situated.
Definition at line 144 of file placeable.cpp.
References _state, and kStateOpen.
Referenced by click(), close(), isActivated(), and open().
|
virtual |
The cursor left the placeable.
Reimplemented from Engines::NWN2::Object.
Definition at line 135 of file placeable.cpp.
References highlight().
Referenced by hide().
|
private |
Load from a placeable instance.
Definition at line 51 of file placeable.cpp.
References Common::UString::empty(), Aurora::GFF3Struct::getString(), Aurora::kFileTypeUTP, Engines::NWN2::Situated::load(), Engines::loadOptionalGFF3(), MKTAG, and Common::ScopedPtrBase< T, Deallocator >::reset().
Referenced by Placeable().
|
protectedvirtual |
Load appearance-specific properties.
Implements Engines::NWN2::Situated.
Definition at line 117 of file placeable.cpp.
References Engines::NWN2::Situated::_appearanceID, Engines::NWN2::Situated::_modelName, Engines::NWN2::Situated::_soundAppType, Common::UString::clear(), Common::UString::empty(), Aurora::TwoDARow::getInt(), Aurora::TwoDAFile::getRow(), Aurora::TwoDARow::getString(), and TwoDAReg.
|
protectedvirtual |
Load placeable-specific properties.
Implements Engines::NWN2::Situated.
Definition at line 109 of file placeable.cpp.
References _hasInventory, _state, Aurora::GFF3Struct::getBool(), and Aurora::GFF3Struct::getUint().
bool Engines::NWN2::Placeable::open | ( | Object * | opener | ) |
The opener object opens this placeable.
Definition at line 180 of file placeable.cpp.
References _hasInventory, Engines::NWN2::Situated::_lastOpenedBy, Engines::NWN2::Situated::_soundLocked, Engines::NWN2::Situated::_soundOpened, _state, Engines::NWN2::Situated::isLocked(), isOpen(), Engines::NWN2::kScriptOpen, kStateOpen, Engines::NWN2::Object::playSound(), and Engines::NWN2::ScriptContainer::runScript().
Referenced by click().
|
private |
Sync the model's state with the placeable's state.
Definition at line 61 of file placeable.cpp.
References Engines::NWN2::Situated::_model, _state, kStateActivated, kStateClosed, kStateDeactivated, kStateDefault, kStateDestroyed, and kStateOpen.
Referenced by show().
|
virtual |
Show the placeable's model.
Reimplemented from Engines::NWN2::Object.
Definition at line 97 of file placeable.cpp.
References setModelState(), and Engines::NWN2::Situated::show().
|
private |
Does this placeable have an inventory?
Definition at line 94 of file placeable.h.
Referenced by activate(), click(), close(), deactivate(), loadObject(), and open().
|
private |
The current state of the placeable.
Definition at line 92 of file placeable.h.
Referenced by activate(), click(), close(), deactivate(), isOpen(), loadObject(), open(), and setModelState().