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

#include <objectcontainer.h>

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

Public Member Functions

 ObjectContainer ()
 
 ~ObjectContainer ()
 
void clearObjects ()
 
void addObject (Sonic::Object &object)
 Add an object to this container. More...
 
void removeObject (Sonic::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 Sonic::ObjecttoObject (::Aurora::NWScript::Object *object)
 
static ModuletoModule (Aurora::NWScript::Object *object)
 
static AreatoArea (Aurora::NWScript::Object *object)
 
static PlaceabletoPlaceable (Aurora::NWScript::Object *object)
 

Private Types

typedef std::list< Sonic::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 59 of file objectcontainer.h.

Member Typedef Documentation

◆ ObjectList

Definition at line 84 of file objectcontainer.h.

◆ ObjectMap

Definition at line 85 of file objectcontainer.h.

Constructor & Destructor Documentation

◆ ObjectContainer()

Engines::Sonic::ObjectContainer::ObjectContainer ( )

Definition at line 64 of file objectcontainer.cpp.

◆ ~ObjectContainer()

Engines::Sonic::ObjectContainer::~ObjectContainer ( )

Definition at line 67 of file objectcontainer.cpp.

Member Function Documentation

◆ addObject()

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

Add an object to this container.

Definition at line 80 of file objectcontainer.cpp.

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

Referenced by Engines::Sonic::Area::Area(), and Engines::Sonic::Area::loadObject().

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

◆ clearObjects()

void Engines::Sonic::ObjectContainer::clearObjects ( )

◆ findObjectsByType()

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

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

Definition at line 110 of file objectcontainer.cpp.

References _objects.

◆ getFirstObjectByType()

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

Return the first object of this type.

Definition at line 100 of file objectcontainer.cpp.

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

Here is the call graph for this function:

◆ removeObject()

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

Remove an object from this container.

Definition at line 90 of file objectcontainer.cpp.

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

Referenced by Engines::Sonic::Area::~Area().

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

◆ toArea()

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

Definition at line 128 of file objectcontainer.cpp.

◆ toModule()

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

Definition at line 124 of file objectcontainer.cpp.

◆ toObject()

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

Definition at line 120 of file objectcontainer.cpp.

◆ toPlaceable()

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

Definition at line 132 of file objectcontainer.cpp.

Member Data Documentation

◆ _objects

ObjectMap Engines::Sonic::ObjectContainer::_objects
private

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