Conditions/DisableMgr: converted from singleton to namespace with free functions.
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user