Optimize get_objects_inside_radius calls (#9671)
authorLoïc Blot <nerzhul@users.noreply.github.com>
Thu, 16 Apr 2020 06:25:48 +0000 (08:25 +0200)
committerGitHub <noreply@github.com>
Thu, 16 Apr 2020 06:25:48 +0000 (08:25 +0200)
commite8ac5a31cf12afcfddf8e3ed31e8038930edb06f
tree5bdc776c5bbe190e32e42899b455e6d16179e3b5
parent62ae7adab2bebde04864c12543caefbffab24963
Optimize get_objects_inside_radius calls (#9671)

* Optimize getObjectsInsideRadius calls

our previous implementation calls the ActiveObjectMgr to return ids and then lookup those ids in the same map and test each object
Instead now we call the global map to return the pointers directly and we ask filtering when building the list using lamba.

This drop double looping over ranges of active objects (and then filtered one) and drop x lookups on the map regarding the first call results
src/collision.cpp
src/script/lua_api/l_env.cpp
src/server/activeobjectmgr.cpp
src/server/activeobjectmgr.h
src/serverenvironment.cpp
src/serverenvironment.h
src/unittest/test_serveractiveobjectmgr.cpp