Conditions/DisableMgr: converted from singleton to namespace with free functions.

This commit is contained in:
Spp-
2011-09-09 14:27:23 +02:00
parent c4c9165428
commit 45af1238cf
13 changed files with 54 additions and 66 deletions
+24 -13
View File
@@ -16,25 +16,34 @@
* with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include "DisableMgr.h"
#include "ObjectMgr.h"
#include "OutdoorPvP.h"
#include "SpellMgr.h"
#include "VMapManager2.h"
#include "DisableMgr.h"
DisableMgr::DisableMgr()
namespace DisableMgr
{
namespace
{
struct DisableData
{
uint8 flags;
std::set<uint32> params[2]; // params0, params1
};
// single disables here with optional data
typedef std::map<uint32, DisableData> DisableTypeMap;
// global disable map by source
typedef std::map<DisableType, DisableTypeMap> DisableMap;
DisableMap m_DisableMap;
uint8 MAX_DISABLE_TYPES = 7;
}
DisableMgr::~DisableMgr()
{
for (DisableMap::iterator itr = m_DisableMap.begin(); itr != m_DisableMap.end(); ++itr)
itr->second.clear();
m_DisableMap.clear();
}
void DisableMgr::LoadDisables()
void LoadDisables()
{
uint32 oldMSTime = getMSTime();
@@ -223,7 +232,7 @@ void DisableMgr::LoadDisables()
sLog->outString();
}
void DisableMgr::CheckQuestDisables()
void CheckQuestDisables()
{
uint32 oldMSTime = getMSTime();
@@ -254,7 +263,7 @@ void DisableMgr::CheckQuestDisables()
sLog->outString();
}
bool DisableMgr::IsDisabledFor(DisableType type, uint32 entry, Unit const* unit, uint8 flags)
bool IsDisabledFor(DisableType type, uint32 entry, Unit const* unit, uint8 flags)
{
ASSERT(type < MAX_DISABLE_TYPES);
if (m_DisableMap[type].empty())
@@ -345,3 +354,5 @@ bool DisableMgr::IsDisabledFor(DisableType type, uint32 entry, Unit const* unit,
return false;
}
} // Namespace
+6 -29
View File
@@ -19,7 +19,7 @@
#ifndef TRINITY_DISABLEMGR_H
#define TRINITY_DISABLEMGR_H
#include <ace/Singleton.h>
#include "Define.h"
class Unit;
@@ -54,34 +54,11 @@ enum VmapDisableTypes
VMAP_DISABLE_LIQUIDSTATUS = 0x8,
};
#define MAX_DISABLE_TYPES 7
struct DisableData
namespace DisableMgr
{
uint8 flags;
std::set<uint32> params[2]; // params0, params1
};
typedef std::map<uint32, DisableData> DisableTypeMap; // single disables here with optional data
typedef std::map<DisableType, DisableTypeMap> DisableMap; // global disable map by source
class DisableMgr
{
friend class ACE_Singleton<DisableMgr, ACE_Null_Mutex>;
DisableMgr();
~DisableMgr();
public:
void LoadDisables();
bool IsDisabledFor(DisableType type, uint32 entry, Unit const* unit, uint8 flags = 0);
void CheckQuestDisables();
protected:
DisableMap m_DisableMap;
};
#define sDisableMgr ACE_Singleton<DisableMgr, ACE_Null_Mutex>::instance()
void LoadDisables();
bool IsDisabledFor(DisableType type, uint32 entry, Unit const* unit, uint8 flags = 0);
void CheckQuestDisables();
}
#endif //TRINITY_DISABLEMGR_H