85 _objects[
object.getType()].push_back(&
object);
93 _objects[
object.getType()].remove(&
object);
101 ObjectMap::const_iterator l =
_objects.find(type);
113 ObjectMap::const_iterator l =
_objects.find(type);
115 return new SearchType(kEmptyObjectList.begin(), kEmptyObjectList.end());
125 return dynamic_cast<Module *
>(object);
129 return dynamic_cast<Area *
>(object);
133 return dynamic_cast<Placeable *
>(object);
static Area * toArea(Aurora::NWScript::Object *object)
SearchType(const iterator &a, const iterator &b)
void addObject(Sonic::Object &object)
Add an object to this container.
The context holding a Sonic Chronicles: The Dark Brotherhood area.
std::list< Sonic::Object * > ::const_iterator iterator
SearchList::type ObjectList
SearchRange(const range &r)
virtual void getPosition(float &x, float &y, float &z) const
Return the object's position within its area.
An object within a Sonic area.
static Sonic::Object * toObject(::Aurora::NWScript::Object *object)
float getDistance(Sonic::Object &a)
ObjectDistanceSort(const Sonic::Object &target)
Utility templates and functions.
::Aurora::NWScript::Object * getFirstObjectByType(ObjectType type) const
Return the first object of this type.
static Placeable * toPlaceable(Aurora::NWScript::Object *object)
Low-level type definitions to handle fixed width types portably.
void removeObject(Object &object)
Remove an object from this container.
Object * get()
Return the current object in the search context.
std::list< Sonic::Object * > type
::Aurora::NWScript::Object * getObject(const iterator &t)
SearchType(const type &l)
The context needed to run a Sonic Chronicles: The Dark Brotherhood module.
A container of Sonic Chronicles: The Dark Brotherhood objects.
static Module * toModule(Aurora::NWScript::Object *object)
An object in a Sonic Chronicles: The Dark Brotherhood area.
::Aurora::NWScript::ObjectSearch * findObjectsByType(ObjectType type) const
Return a search context to iterate over all objects of this type.
A placeable object in a Sonic Chronicles: The Dark Brotherhood area.
void removeObject(Sonic::Object &object)
Remove an object from this container.
bool operator()(Sonic::Object *a, Sonic::Object *b)
void addObject(Object &object)
Add an object to this container.