xoreos  0.0.5
Public Member Functions | Static Public Member Functions | Private Types | Private Attributes | List of all members
Engines::NWN2::ObjectContainer Class Reference

#include <objectcontainer.h>

Inheritance diagram for Engines::NWN2::ObjectContainer:
Inheritance graph
[legend]
Collaboration diagram for Engines::NWN2::ObjectContainer:
Collaboration graph
[legend]

Public Member Functions

 ObjectContainer ()
 
 ~ObjectContainer ()
 
void clearObjects ()
 
void addObject (NWN2::Object &object)
 Add an object to this container. More...
 
void removeObject (NWN2::Object &object)
 Remove an object from this container. More...
 
::Aurora::NWScript::ObjectgetFirstObjectByType (ObjectType type) const
 Return the first object of this type. More...
 
::Aurora::NWScript::ObjectSearchfindObjectsByType (ObjectType type) const
 Return a search context to iterate over all objects of this type. More...
 
- Public Member Functions inherited from Aurora::NWScript::ObjectContainer
 ObjectContainer ()
 
 ~ObjectContainer ()
 
void clearObjects ()
 
void addObject (Object &object)
 Add an object to this container. More...
 
void removeObject (Object &object)
 Remove an object from this container. More...
 
ObjectgetObjectByID (uint32 id) const
 Find a specific object by ID. More...
 
ObjectgetFirstObject () const
 Return the first object. More...
 
ObjectgetFirstObjectByTag (const Common::UString &tag) const
 Return the first object with this tag. More...
 
ObjectSearchfindObjects () const
 Return a search context to iterate over all objects. More...
 
ObjectSearchfindObjectsByTag (const Common::UString &tag) const
 Return a search context to iterate over all objects with this tag. More...
 

Static Public Member Functions

static NWN2::ObjecttoObject (::Aurora::NWScript::Object *object)
 
static ModuletoModule (Aurora::NWScript::Object *object)
 
static AreatoArea (Aurora::NWScript::Object *object)
 
static WaypointtoWaypoint (Aurora::NWScript::Object *object)
 
static SituatedtoSituated (Aurora::NWScript::Object *object)
 
static PlaceabletoPlaceable (Aurora::NWScript::Object *object)
 
static DoortoDoor (Aurora::NWScript::Object *object)
 
static CreaturetoCreature (Aurora::NWScript::Object *object)
 
static CreaturetoPC (Aurora::NWScript::Object *object)
 
static LocationtoLocation (Aurora::NWScript::EngineType *engineType)
 

Private Types

typedef std::list< NWN2::Object * > ObjectList
 
typedef std::map< ObjectType, ObjectListObjectMap
 

Private Attributes

ObjectMap _objects
 

Additional Inherited Members

- Protected Member Functions inherited from Aurora::NWScript::ObjectContainer
void lock ()
 
void unlock ()
 

Detailed Description

Definition at line 64 of file objectcontainer.h.

Member Typedef Documentation

◆ ObjectList

Definition at line 96 of file objectcontainer.h.

◆ ObjectMap

Definition at line 97 of file objectcontainer.h.

Constructor & Destructor Documentation

◆ ObjectContainer()

Engines::NWN2::ObjectContainer::ObjectContainer ( )

Definition at line 69 of file objectcontainer.cpp.

◆ ~ObjectContainer()

Engines::NWN2::ObjectContainer::~ObjectContainer ( )

Definition at line 72 of file objectcontainer.cpp.

Member Function Documentation

◆ addObject()

void Engines::NWN2::ObjectContainer::addObject ( NWN2::Object object)

Add an object to this container.

Definition at line 85 of file objectcontainer.cpp.

References _objects, Aurora::NWScript::ObjectContainer::addObject(), Aurora::NWScript::ObjectContainer::lock(), and Aurora::NWScript::ObjectContainer::unlock().

Referenced by Engines::NWN2::Area::Area(), Engines::NWN2::Module::enter(), and Engines::NWN2::Area::loadObject().

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

◆ clearObjects()

void Engines::NWN2::ObjectContainer::clearObjects ( )

◆ findObjectsByType()

Aurora::NWScript::ObjectSearch * Engines::NWN2::ObjectContainer::findObjectsByType ( ObjectType  type) const

Return a search context to iterate over all objects of this type.

Definition at line 115 of file objectcontainer.cpp.

References _objects.

◆ getFirstObjectByType()

Aurora::NWScript::Object * Engines::NWN2::ObjectContainer::getFirstObjectByType ( ObjectType  type) const

Return the first object of this type.

Definition at line 105 of file objectcontainer.cpp.

References _objects, and Aurora::NWScript::SearchRange< T >::get().

Here is the call graph for this function:

◆ removeObject()

void Engines::NWN2::ObjectContainer::removeObject ( NWN2::Object object)

Remove an object from this container.

Definition at line 95 of file objectcontainer.cpp.

References _objects, Aurora::NWScript::ObjectContainer::lock(), Aurora::NWScript::ObjectContainer::removeObject(), and Aurora::NWScript::ObjectContainer::unlock().

Referenced by Engines::NWN2::Area::clear(), Engines::NWN2::Module::unloadPC(), and Engines::NWN2::Area::~Area().

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

◆ toArea()

Area * Engines::NWN2::ObjectContainer::toArea ( Aurora::NWScript::Object object)
static

◆ toCreature()

Creature * Engines::NWN2::ObjectContainer::toCreature ( Aurora::NWScript::Object object)
static

◆ toDoor()

Door * Engines::NWN2::ObjectContainer::toDoor ( Aurora::NWScript::Object object)
static

Definition at line 149 of file objectcontainer.cpp.

Referenced by Engines::NWN2::Functions::actionCloseDoor(), and Engines::NWN2::Functions::actionOpenDoor().

Here is the caller graph for this function:

◆ toLocation()

Location * Engines::NWN2::ObjectContainer::toLocation ( Aurora::NWScript::EngineType engineType)
static

◆ toModule()

Module * Engines::NWN2::ObjectContainer::toModule ( Aurora::NWScript::Object object)
static

Definition at line 129 of file objectcontainer.cpp.

◆ toObject()

NWN2::Object * Engines::NWN2::ObjectContainer::toObject ( ::Aurora::NWScript::Object object)
static

◆ toPC()

Creature * Engines::NWN2::ObjectContainer::toPC ( Aurora::NWScript::Object object)
static

Definition at line 157 of file objectcontainer.cpp.

References Engines::NWN2::Creature::isPC().

Referenced by Engines::NWN2::Functions::getIsPC(), and Engines::NWN2::Functions::sendMessageToPC().

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

◆ toPlaceable()

Placeable * Engines::NWN2::ObjectContainer::toPlaceable ( Aurora::NWScript::Object object)
static

Definition at line 145 of file objectcontainer.cpp.

◆ toSituated()

Situated * Engines::NWN2::ObjectContainer::toSituated ( Aurora::NWScript::Object object)
static

◆ toWaypoint()

Waypoint * Engines::NWN2::ObjectContainer::toWaypoint ( Aurora::NWScript::Object object)
static

Definition at line 137 of file objectcontainer.cpp.

Referenced by Engines::NWN2::Functions::getWaypointByTag().

Here is the caller graph for this function:

Member Data Documentation

◆ _objects

ObjectMap Engines::NWN2::ObjectContainer::_objects
private

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