#include <activeobjectmgr.h>
Public Member Functions | |
void | clear (const std::function< bool(ServerActiveObject *, u16)> &cb) |
void | step (float dtime, const std::function< void(ServerActiveObject *)> &f) override |
bool | registerObject (ServerActiveObject *obj) override |
void | removeObject (u16 id) override |
void | getObjectsInsideRadius (const v3f &pos, float radius, std::vector< ServerActiveObject * > &result, std::function< bool(ServerActiveObject *obj)> include_obj_cb) |
void | getObjectsInArea (const aabb3f &box, std::vector< ServerActiveObject * > &result, std::function< bool(ServerActiveObject *obj)> include_obj_cb) |
void | getAddedActiveObjectsAroundPos (const v3f &player_pos, f32 radius, f32 player_radius, std::set< u16 > ¤t_objects, std::queue< u16 > &added_objects) |
Public Member Functions inherited from ActiveObjectMgr< ServerActiveObject > | |
ServerActiveObject * | getActiveObject (u16 id) |
Additional Inherited Members | |
Protected Member Functions inherited from ActiveObjectMgr< ServerActiveObject > | |
u16 | getFreeId () const |
bool | isFreeId (u16 id) const |
Protected Attributes inherited from ActiveObjectMgr< ServerActiveObject > | |
std::unordered_map< u16, ServerActiveObject * > | m_active_objects |
void ActiveObjectMgr< T >::clear | ( | const std::function< bool(ServerActiveObject *, u16)> & | cb | ) |
References ActiveObjectMgr< ServerActiveObject >::m_active_objects.
Referenced by ServerEnvironment::clearObjects(), clearSAOMgr(), ServerEnvironment::deactivateFarObjects(), and ServerEnvironment::removeRemovedObjects().
void ActiveObjectMgr< T >::getAddedActiveObjectsAroundPos | ( | const v3f & | player_pos, |
f32 | radius, | ||
f32 | player_radius, | ||
std::set< u16 > & | current_objects, | ||
std::queue< u16 > & | added_objects | ||
) |
References ACTIVEOBJECT_TYPE_PLAYER, ServerActiveObject::getBasePosition(), ActiveObject::getType(), ServerActiveObject::isGone(), and ActiveObjectMgr< ServerActiveObject >::m_active_objects.
Referenced by ServerEnvironment::getAddedActiveObjects(), and TestServerActiveObjectMgr::testGetAddedActiveObjectsAroundPos().
void ActiveObjectMgr< T >::getObjectsInArea | ( | const aabb3f & | box, |
std::vector< ServerActiveObject * > & | result, | ||
std::function< bool(ServerActiveObject *obj)> | include_obj_cb | ||
) |
References ServerActiveObject::getBasePosition(), and ActiveObjectMgr< ServerActiveObject >::m_active_objects.
Referenced by ServerEnvironment::getObjectsInArea().
void ActiveObjectMgr< T >::getObjectsInsideRadius | ( | const v3f & | pos, |
float | radius, | ||
std::vector< ServerActiveObject * > & | result, | ||
std::function< bool(ServerActiveObject *obj)> | include_obj_cb | ||
) |
References ServerActiveObject::getBasePosition(), and ActiveObjectMgr< ServerActiveObject >::m_active_objects.
Referenced by ServerEnvironment::getObjectsInsideRadius(), and TestServerActiveObjectMgr::testGetObjectsInsideRadius().
|
overridevirtual |
Implements ActiveObjectMgr< ServerActiveObject >.
References ServerActiveObject::environmentDeletes(), errorstream, ServerActiveObject::getBasePosition(), ActiveObjectMgr< ServerActiveObject >::getFreeId(), ActiveObject::getId(), ActiveObjectMgr< ServerActiveObject >::isFreeId(), ActiveObjectMgr< ServerActiveObject >::m_active_objects, objectpos_over_limit(), p(), ActiveObject::setId(), verbosestream, and warningstream.
Referenced by ServerEnvironment::addActiveObjectRaw(), TestServerActiveObjectMgr::testFreeID(), TestServerActiveObjectMgr::testGetAddedActiveObjectsAroundPos(), TestServerActiveObjectMgr::testGetObjectsInsideRadius(), TestServerActiveObjectMgr::testRegisterObject(), and TestServerActiveObjectMgr::testRemoveObject().
|
overridevirtual |
Implements ActiveObjectMgr< ServerActiveObject >.
References ActiveObjectMgr< ServerActiveObject >::getActiveObject(), infostream, ActiveObjectMgr< ServerActiveObject >::m_active_objects, and verbosestream.
Referenced by TestServerActiveObjectMgr::testRemoveObject().
|
overridevirtual |
Implements ActiveObjectMgr< ServerActiveObject >.
References Profiler::avg(), g_profiler, and ActiveObjectMgr< ServerActiveObject >::m_active_objects.
Referenced by ServerEnvironment::step().