18#ifndef TRINITY_POOLHANDLER_H
19#define TRINITY_POOLHANDLER_H
26#include <unordered_map>
100 bool isEmpty()
const {
return ExplicitlyChanced.empty() && EqualChanced.empty(); }
101 bool isEmptyDeepCheck()
const;
103 bool CheckPool()
const;
144 bool IsEmpty(
uint32 pool_id)
const;
145 bool CheckPool(
uint32 pool_id)
const;
148 void DespawnPool(
SpawnedPoolData& spawnedPoolData,
uint32 pool_id,
bool alwaysDeleteRespawnTime =
false);
154 std::unique_ptr<SpawnedPoolData> InitPoolsForMap(
Map* map);
179#define sPoolMgr PoolMgr::instance()
std::set< uint64 > SpawnedPoolObjects
std::map< uint64, uint32 > SpawnedPoolPools
void SetPoolId(uint32 pool_id)
void ReSpawn1Object(SpawnedPoolData &spawns, PoolObject *obj)
void Despawn1Object(SpawnedPoolData &spawns, uint64 guid, bool alwaysDeleteRespawnTime=false, bool saveRespawnTime=true)
PoolGroup(PoolGroup const &right)=delete
void RemoveOneRelation(uint32 child_pool_id)
PoolGroup & operator=(PoolGroup const &right)=delete
void Spawn1Object(SpawnedPoolData &spawns, PoolObject *obj)
PoolObjectList ExplicitlyChanced
PoolGroup & operator=(PoolGroup &&right)=delete
PoolGroup(PoolGroup &&right)=delete
void RemoveRespawnTimeFromDB(SpawnedPoolData &spawns, uint64 guid)
std::vector< PoolObject > PoolObjectList
PoolObjectList EqualChanced
std::pair< uint64, uint32 > SearchPair
void SpawnPool(SpawnedPoolData &spawnedPoolData, uint32 pool_id, uint64 db_guid_or_pool_id)
PoolMgr(PoolMgr &&right)=delete
std::unordered_map< uint32, PoolGroup< Creature > > PoolGroupCreatureMap
PoolMgr(PoolMgr const &right)=delete
std::unordered_map< uint32, PoolTemplateData > PoolTemplateDataMap
PoolMgr & operator=(PoolMgr &&right)=delete
bool IsSpawnedObject(SpawnedPoolData &spawnedPoolData, uint64 db_guid_or_pool_id) const
PoolGroupCreatureMap mPoolCreatureGroups
PoolGroupPoolMap mPoolPoolGroups
std::unordered_map< uint32, PoolGroup< GameObject > > PoolGroupGameObjectMap
SearchMap mGameobjectSearchMap
PoolTemplateDataMap mPoolTemplate
std::unordered_map< uint32, std::vector< uint32 > > mAutoSpawnPoolsPerMap
PoolMgr & operator=(PoolMgr const &right)=delete
std::unordered_map< uint32, PoolGroup< Pool > > PoolGroupPoolMap
uint32 IsPartOfAPool(uint64 db_guid_or_pool_id) const
std::map< uint64, uint32 > SearchMap
PoolGroupGameObjectMap mPoolGameobjectGroups
SearchMap mCreatureSearchMap
SpawnedPoolObjects mSpawnedCreatures
SpawnedPoolObjects mSpawnedGameobjects
SpawnedPoolData(SpawnedPoolData const &right)=delete
SpawnedPoolData(SpawnedPoolData &&right)=delete
SpawnedPoolData & operator=(SpawnedPoolData const &right)=delete
void AddSpawn(uint64 db_guid_or_pool_id, uint32 pool_id)
bool IsSpawnedObject(uint64 db_guid_or_pool_id) const
void RemoveSpawn(uint64 db_guid_or_pool_id, uint32 pool_id)
SpawnedPoolPools mSpawnedPools
SpawnedPoolData & operator=(SpawnedPoolData &&right)=delete
PoolObject(uint64 _guid, float _chance)