xoreos  0.0.5
Public Types | Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | List of all members
Engines::KotOR2::Placeable Class Reference

#include <placeable.h>

Inheritance diagram for Engines::KotOR2::Placeable:
Inheritance graph
[legend]
Collaboration diagram for Engines::KotOR2::Placeable:
Collaboration graph
[legend]

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 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::KotOR2::Situated
 ~Situated ()
 
void show ()
 Show the situated object's model. More...
 
void hide ()
 Hide the situated object's model. More...
 
bool isVisible () const
 Is the situated object's model visible? More...
 
bool isLocked () const
 Is the situated object locked? More...
 
virtual void setLocked (bool locked)
 Lock/Unlock the situated object. More...
 
ObjectgetLastOpenedBy () const
 Return the object that last opened this situated object. More...
 
ObjectgetLastClosedBy () const
 Return the object that last closed this situated object. More...
 
ObjectgetLastUsedBy () 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...
 
virtual bool testCollision (const glm::vec3 &orig, const glm::vec3 &dest) const
 
void setWalkmeshInvisible (bool invisible)
 
void playAnimation (const Common::UString &anim, bool restart=true, float length=0.0f, float speed=1.0f)
 
- Public Member Functions inherited from Engines::KotOR2::Object
 Object (ObjectType type=kObjectTypeInvalid)
 
virtual ~Object ()
 
ObjectType getType () const
 Return the exact type of the object. More...
 
virtual void hideSoft ()
 Hide the object's model(s) if applicable. More...
 
const std::list< uint32 > & getIDs () const
 Return the object's model IDs. More...
 
const Common::UStringgetName () const
 Return the object's name. More...
 
const Common::UStringgetDescription () const
 Return the object's description. More...
 
const Common::UStringgetPortrait () const
 Return the object's portrait. 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...
 
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...
 
void makeLookAt (float x, float y)
 
void makeLookAt (Object *target)
 
RoomgetRoom ()
 Get a room the object is in. More...
 
void setRoom (Room *room)
 Set a room the object is in. 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::UStringgetTag () const
 
- Public Member Functions inherited from Aurora::NWScript::VariableContainer
 VariableContainer ()
 
virtual ~VariableContainer ()
 
bool hasVariable (const Common::UString &var) const
 
VariablegetVariable (const Common::UString &var, Type type=kTypeVoid)
 
const VariablegetVariable (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::KotOR2::ScriptContainer
 ScriptContainer ()
 
 ~ScriptContainer ()
 
const Common::UStringgetScript (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::KotOR2::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::KotOR2::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...
 

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::KotOR2::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::KotOR2::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...
 
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...
 
Engines::KotOR::Walkmesh _walkmesh
 
- Protected Attributes inherited from Engines::KotOR2::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 _portrait
 The object's portrait. 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...
 
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...
 
Room_room
 Room the object is in. More...
 
- Protected Attributes inherited from Aurora::NWScript::Object
uint32 _id
 
Common::UString _tag
 

Detailed Description

Definition at line 36 of file placeable.h.

Member Enumeration Documentation

◆ State

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.

Constructor & Destructor Documentation

◆ Placeable()

Engines::KotOR2::Placeable::Placeable ( const Aurora::GFF3Struct placeable)

Load from a placeable instance.

Definition at line 46 of file placeable.cpp.

References load().

Here is the call graph for this function:

◆ ~Placeable()

Engines::KotOR2::Placeable::~Placeable ( )

Definition at line 52 of file placeable.cpp.

Member Function Documentation

◆ activate()

bool Engines::KotOR2::Placeable::activate ( Object opener)

The user object activates this placeable.

Definition at line 188 of file placeable.cpp.

References _hasInventory, Engines::KotOR2::Situated::_soundLocked, Engines::KotOR2::Situated::_soundUsed, _state, isActivated(), Engines::KotOR2::Situated::isLocked(), Engines::KotOR2::kScriptUsed, kStateActivated, Engines::KotOR2::Object::playSound(), and Engines::KotOR2::ScriptContainer::runScript().

Referenced by click().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ click()

bool Engines::KotOR2::Placeable::click ( Object triggerer = 0)
virtual

◆ close()

bool Engines::KotOR2::Placeable::close ( Object closer)

The closer object closes this placeable.

Definition at line 171 of file placeable.cpp.

References _hasInventory, Engines::KotOR2::Situated::_lastClosedBy, Engines::KotOR2::Situated::_soundClosed, _state, isOpen(), Engines::KotOR2::kScriptClosed, kStateClosed, Engines::KotOR2::Object::playSound(), and Engines::KotOR2::ScriptContainer::runScript().

Referenced by click().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ deactivate()

bool Engines::KotOR2::Placeable::deactivate ( Object closer)

The user object deactivates this placeable.

Definition at line 208 of file placeable.cpp.

References _hasInventory, Engines::KotOR2::Situated::_soundLocked, Engines::KotOR2::Situated::_soundUsed, _state, isActivated(), Engines::KotOR2::Situated::isLocked(), Engines::KotOR2::kScriptUsed, kStateDeactivated, Engines::KotOR2::Object::playSound(), and Engines::KotOR2::ScriptContainer::runScript().

Referenced by click().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ enter()

void Engines::KotOR2::Placeable::enter ( )
virtual

The cursor entered the placeable.

Reimplemented from Engines::KotOR2::Object.

Definition at line 100 of file placeable.cpp.

References highlight().

Here is the call graph for this function:

◆ hide()

void Engines::KotOR2::Placeable::hide ( )
virtual

Hide the placeable's model.

Reimplemented from Engines::KotOR2::Object.

Definition at line 76 of file placeable.cpp.

References Engines::KotOR2::Situated::hide(), and leave().

Here is the call graph for this function:

◆ highlight()

void Engines::KotOR2::Placeable::highlight ( bool  enabled)
virtual

(Un)Highlight the placeable.

Reimplemented from Engines::KotOR2::Object.

Definition at line 108 of file placeable.cpp.

References Engines::KotOR2::Situated::_model.

Referenced by enter(), and leave().

Here is the caller graph for this function:

◆ isActivated()

bool Engines::KotOR2::Placeable::isActivated ( ) const

Is the placeable activated?

Definition at line 117 of file placeable.cpp.

References isOpen().

Referenced by activate(), click(), and deactivate().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ isOpen()

bool Engines::KotOR2::Placeable::isOpen ( ) const
virtual

Is the placeable open?

Implements Engines::KotOR2::Situated.

Definition at line 113 of file placeable.cpp.

References _state, kStateActivated, and kStateOpen.

Referenced by click(), close(), isActivated(), and open().

Here is the caller graph for this function:

◆ leave()

void Engines::KotOR2::Placeable::leave ( )
virtual

The cursor left the placeable.

Reimplemented from Engines::KotOR2::Object.

Definition at line 104 of file placeable.cpp.

References highlight().

Referenced by hide().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ load()

void Engines::KotOR2::Placeable::load ( const Aurora::GFF3Struct placeable)
private

◆ loadAppearance()

void Engines::KotOR2::Placeable::loadAppearance ( )
protectedvirtual

◆ loadObject()

void Engines::KotOR2::Placeable::loadObject ( const Aurora::GFF3Struct gff)
protectedvirtual

Load placeable-specific properties.

Implements Engines::KotOR2::Situated.

Definition at line 82 of file placeable.cpp.

References _hasInventory, _state, Aurora::GFF3Struct::getBool(), and Aurora::GFF3Struct::getUint().

Here is the call graph for this function:

◆ open()

bool Engines::KotOR2::Placeable::open ( Object opener)

Member Data Documentation

◆ _hasInventory

bool Engines::KotOR2::Placeable::_hasInventory
private

Does this placeable have an inventory?

Definition at line 93 of file placeable.h.

Referenced by activate(), click(), close(), deactivate(), loadObject(), and open().

◆ _state

State Engines::KotOR2::Placeable::_state
private

The current state of the placeable.

Definition at line 91 of file placeable.h.

Referenced by activate(), click(), close(), deactivate(), isOpen(), loadObject(), and open().


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