aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/AI
diff options
context:
space:
mode:
authorMachiavelli <none@none>2010-06-25 00:18:01 +0200
committerMachiavelli <none@none>2010-06-25 00:18:01 +0200
commit0f7657b68c8b6444fadb480cdd0f87631391afa5 (patch)
treea5ffdaecbb1332ffbc655916842a23a622340c98 /src/server/game/AI
parenta6b9e716a61334e218cff227f66b0c51053e72f3 (diff)
Get rid of Trinity Singleton and Threading patterns and replace them with ACE_Singletons and ACE_GUARD_x macro´s with ACE_Thread_Mutex´es respectively.
Also get rid of unused CountedReference class that used Trinity threading pattern. --HG-- branch : trunk
Diffstat (limited to 'src/server/game/AI')
-rw-r--r--src/server/game/AI/CreatureAISelector.cpp9
-rw-r--r--src/server/game/AI/EventAI/CreatureEventAIMgr.cpp3
-rw-r--r--src/server/game/AI/EventAI/CreatureEventAIMgr.h5
3 files changed, 6 insertions, 11 deletions
diff --git a/src/server/game/AI/CreatureAISelector.cpp b/src/server/game/AI/CreatureAISelector.cpp
index 79977fab5b1..8283baf87f9 100644
--- a/src/server/game/AI/CreatureAISelector.cpp
+++ b/src/server/game/AI/CreatureAISelector.cpp
@@ -21,22 +21,19 @@
#include "Creature.h"
#include "CreatureAISelector.h"
#include "PassiveAI.h"
-#include "SingletonImp.h"
+
#include "MovementGenerator.h"
#include "Pet.h"
#include "TemporarySummon.h"
#include "CreatureAIFactory.h"
#include "ScriptMgr.h"
-INSTANTIATE_SINGLETON_1(CreatureAIRegistry);
-INSTANTIATE_SINGLETON_1(MovementGeneratorRegistry);
-
namespace FactorySelector
{
CreatureAI* selectAI(Creature *creature)
{
const CreatureAICreator *ai_factory = NULL;
- CreatureAIRegistry &ai_registry(CreatureAIRepository::Instance());
+ CreatureAIRegistry& ai_registry(*CreatureAIRepository::instance());
if (creature->isPet())
ai_factory = ai_registry.GetRegistryItem("PetAI");
@@ -106,7 +103,7 @@ namespace FactorySelector
MovementGenerator* selectMovementGenerator(Creature *creature)
{
- MovementGeneratorRegistry &mv_registry(MovementGeneratorRepository::Instance());
+ MovementGeneratorRegistry& mv_registry(*MovementGeneratorRepository::instance());
assert(creature->GetCreatureInfo() != NULL);
const MovementGeneratorCreator *mv_factory = mv_registry.GetRegistryItem(creature->GetDefaultMovementType());
diff --git a/src/server/game/AI/EventAI/CreatureEventAIMgr.cpp b/src/server/game/AI/EventAI/CreatureEventAIMgr.cpp
index 8c71f5e5765..9f4105050ae 100644
--- a/src/server/game/AI/EventAI/CreatureEventAIMgr.cpp
+++ b/src/server/game/AI/EventAI/CreatureEventAIMgr.cpp
@@ -23,13 +23,10 @@
#include "CreatureEventAIMgr.h"
#include "ObjectMgr.h"
#include "ProgressBar.h"
-#include "SingletonImp.h"
#include "ObjectDefines.h"
#include "GridDefines.h"
#include "ConditionMgr.h"
-INSTANTIATE_SINGLETON_1(CreatureEventAIMgr);
-
// -------------------
void CreatureEventAIMgr::LoadCreatureEventAI_Texts()
{
diff --git a/src/server/game/AI/EventAI/CreatureEventAIMgr.h b/src/server/game/AI/EventAI/CreatureEventAIMgr.h
index ef191b22463..3c8181e9e74 100644
--- a/src/server/game/AI/EventAI/CreatureEventAIMgr.h
+++ b/src/server/game/AI/EventAI/CreatureEventAIMgr.h
@@ -24,8 +24,9 @@
class CreatureEventAIMgr
{
+ friend class ACE_Singleton<CreatureEventAIMgr, ACE_Null_Mutex>;
+ CreatureEventAIMgr(){};
public:
- CreatureEventAIMgr(){};
~CreatureEventAIMgr(){};
void LoadCreatureEventAI_Texts();
@@ -42,5 +43,5 @@ class CreatureEventAIMgr
CreatureEventAI_TextMap m_CreatureEventAI_TextMap;
};
-#define CreatureEAI_Mgr Trinity::Singleton<CreatureEventAIMgr>::Instance()
+#define CreatureEAI_Mgr (*ACE_Singleton<CreatureEventAIMgr, ACE_Null_Mutex>::instance())
#endif