diff options
| author | Treeston <treeston.mmoc@gmail.com> | 2020-12-30 21:08:22 +0100 |
|---|---|---|
| committer | Shauren <shauren.trinity@gmail.com> | 2022-03-05 17:07:46 +0100 |
| commit | a8d00ddd69f3ff0f197b31d407e8c5112f229b4b (patch) | |
| tree | 43f5ff9afa02d06255c746e80205fe98b313c08b /src/server/game/Pools | |
| parent | abbac041bffa80c9804b5912a56e30c7703e111e (diff) | |
Core/Maps: move pooling hand-off outside of Map::CheckRespawn (PR#25785)
fixes #25777
(cherry picked from commit f8afcec9f3efc58ce8a38a6c63e2ebfc24d2e01d)
Diffstat (limited to 'src/server/game/Pools')
| -rw-r--r-- | src/server/game/Pools/PoolMgr.cpp | 15 | ||||
| -rw-r--r-- | src/server/game/Pools/PoolMgr.h | 1 |
2 files changed, 16 insertions, 0 deletions
diff --git a/src/server/game/Pools/PoolMgr.cpp b/src/server/game/Pools/PoolMgr.cpp index 52e8c4cfa1e..b0f9cb21a8e 100644 --- a/src/server/game/Pools/PoolMgr.cpp +++ b/src/server/game/Pools/PoolMgr.cpp @@ -855,3 +855,18 @@ void PoolMgr::UpdatePool(uint32 pool_id, uint64 db_guid_or_pool_id) template void PoolMgr::UpdatePool<Pool>(uint32 pool_id, uint64 db_guid_or_pool_id); template void PoolMgr::UpdatePool<GameObject>(uint32 pool_id, uint64 db_guid_or_pool_id); template void PoolMgr::UpdatePool<Creature>(uint32 pool_id, uint64 db_guid_or_pool_id); + +void PoolMgr::UpdatePool(uint32 pool_id, SpawnObjectType type, uint64 spawnId) +{ + switch (type) + { + case SPAWN_TYPE_CREATURE: + UpdatePool<Creature>(pool_id, spawnId); + break; + case SPAWN_TYPE_GAMEOBJECT: + UpdatePool<GameObject>(pool_id, spawnId); + break; + default: + ABORT_MSG("Invalid spawn type %u passed to PoolMgr::IsPartOfPool (with spawnId " UI64FMTD ")", uint32(type), spawnId); + } +} diff --git a/src/server/game/Pools/PoolMgr.h b/src/server/game/Pools/PoolMgr.h index 867e7e275ae..d8c9452caa2 100644 --- a/src/server/game/Pools/PoolMgr.h +++ b/src/server/game/Pools/PoolMgr.h @@ -145,6 +145,7 @@ class TC_GAME_API PoolMgr template<typename T> void UpdatePool(uint32 pool_id, uint64 db_guid_or_pool_id); + void UpdatePool(uint32 pool_id, SpawnObjectType type, uint64 spawnId); private: template<typename T> |
