diff --git a/src/server/game/Pools/PoolMgr.cpp b/src/server/game/Pools/PoolMgr.cpp index 48bdb6ff47..dd1a299ed6 100644 --- a/src/server/game/Pools/PoolMgr.cpp +++ b/src/server/game/Pools/PoolMgr.cpp @@ -17,14 +17,20 @@ #include "PoolMgr.h" #include "Containers.h" +#include "Creature.h" #include "DatabaseEnv.h" +#include "GameObject.h" #include "Log.h" #include "MapManager.h" #include "ObjectMgr.h" +#include //////////////////////////////////////////////////////////// // template class ActivePoolData +ActivePoolData::ActivePoolData() = default; +ActivePoolData::~ActivePoolData() = default; + // Method that tell amount spawned objects/subpools uint32 ActivePoolData::GetActiveObjectCount(uint32 pool_id) const { @@ -104,6 +110,14 @@ void ActivePoolData::RemoveObject(uint32 sub_pool_id, uint32 pool_id) //////////////////////////////////////////////////////////// // Methods of template class PoolGroup +template +PoolGroup::PoolGroup() : poolId(0) +{ +} + +template +PoolGroup::~PoolGroup() = default; + // Method to add a gameobject/creature guid to the proper list depending on pool type and chance value template void PoolGroup::AddEntry(PoolObject& poolitem, uint32 maxentries) @@ -426,7 +440,8 @@ void PoolGroup::RemoveRespawnTimeFromDB(ObjectGuid::LowType /*guid*/) { } //////////////////////////////////////////////////////////// // Methods of class PoolMgr -PoolMgr::PoolMgr() { } +PoolMgr::PoolMgr() = default; +PoolMgr::~PoolMgr() = default; void PoolMgr::Initialize() { diff --git a/src/server/game/Pools/PoolMgr.h b/src/server/game/Pools/PoolMgr.h index 36bcad0d60..2e706af56f 100644 --- a/src/server/game/Pools/PoolMgr.h +++ b/src/server/game/Pools/PoolMgr.h @@ -19,9 +19,15 @@ #define TRINITY_POOLHANDLER_H #include "Define.h" -#include "Creature.h" -#include "GameObject.h" #include "SpawnData.h" +#include +#include +#include +#include + +class Creature; +class GameObject; +class Quest; struct PoolTemplateData { @@ -45,6 +51,14 @@ typedef std::map ActivePoolPools; class TC_GAME_API ActivePoolData { public: + explicit ActivePoolData(); + ~ActivePoolData(); + + ActivePoolData(ActivePoolData const& right) = delete; + ActivePoolData(ActivePoolData&& right) = delete; + ActivePoolData& operator=(ActivePoolData const& right) = delete; + ActivePoolData& operator=(ActivePoolData&& right) = delete; + template bool IsActiveObject(uint32 db_guid_or_pool_id) const; @@ -66,9 +80,15 @@ class TC_GAME_API PoolGroup { typedef std::vector PoolObjectList; public: - explicit PoolGroup() : poolId(0) { } + explicit PoolGroup(); + ~PoolGroup(); + + PoolGroup(PoolGroup const& right) = delete; + PoolGroup(PoolGroup&& right) = delete; + PoolGroup& operator=(PoolGroup const& right) = delete; + PoolGroup& operator=(PoolGroup&& right) = delete; + void SetPoolId(uint32 pool_id) { poolId = pool_id; } - ~PoolGroup() { }; bool isEmpty() const { return ExplicitlyChanced.empty() && EqualChanced.empty(); } void AddEntry(PoolObject& poolitem, uint32 maxentries); bool CheckPool() const; @@ -97,9 +117,14 @@ class TC_GAME_API PoolMgr { private: PoolMgr(); - ~PoolMgr() { }; + ~PoolMgr(); public: + PoolMgr(PoolMgr const& right) = delete; + PoolMgr(PoolMgr&& right) = delete; + PoolMgr& operator=(PoolMgr const& right) = delete; + PoolMgr& operator=(PoolMgr&& right) = delete; + static PoolMgr* instance(); void LoadFromDB();