Core/Pooling: sync constructor and destructor code with master branch

This commit is contained in:
Ovahlord committed 2022-12-27 22:39:28 +01:00
1 parent 72b3164552
commit 317a9f2d32
2 files changed
+46 -6

No files matched your search

+16 -1
View File
@@ -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 <sstream>
////////////////////////////////////////////////////////////
// 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<Pool>(uint32 sub_pool_id, uint32 pool_id)
////////////////////////////////////////////////////////////
// Methods of template class PoolGroup
template <class T>
PoolGroup<T>::PoolGroup() : poolId(0)
{
}
template <class T>
PoolGroup<T>::~PoolGroup() = default;
// Method to add a gameobject/creature guid to the proper list depending on pool type and chance value
template <class T>
void PoolGroup<T>::AddEntry(PoolObject& poolitem, uint32 maxentries)
@@ -426,7 +440,8 @@ void PoolGroup<Pool>::RemoveRespawnTimeFromDB(ObjectGuid::LowType /*guid*/) { }
////////////////////////////////////////////////////////////
// Methods of class PoolMgr
PoolMgr::PoolMgr() { }
PoolMgr::PoolMgr() = default;
PoolMgr::~PoolMgr() = default;
void PoolMgr::Initialize()
{
+30 -5
View File
@@ -19,9 +19,15 @@
#define TRINITY_POOLHANDLER_H
#include "Define.h"
#include "Creature.h"
#include "GameObject.h"
#include "SpawnData.h"
#include <map>
#include <set>
#include <unordered_map>
#include <vector>
class Creature;
class GameObject;
class Quest;
struct PoolTemplateData
{
@@ -45,6 +51,14 @@ typedef std::map<uint32, uint32> 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<typename T>
bool IsActiveObject(uint32 db_guid_or_pool_id) const;
@@ -66,9 +80,15 @@ class TC_GAME_API PoolGroup
{
typedef std::vector<PoolObject> 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();