diff options
author | click <none@none> | 2010-08-09 23:17:02 +0200 |
---|---|---|
committer | click <none@none> | 2010-08-09 23:17:02 +0200 |
commit | a8303b38e6c7b8ce60ca8d7bd7ed25f0165e5c12 (patch) | |
tree | 2a8b8d604966080c2cda39a3e61e393e130e17cf | |
parent | 816acb11a46c39e678efe8012e0ac12c32cd271b (diff) | |
parent | cecb8117d5aeeb42cda8657a0c6f8cf9caf74947 (diff) |
Merge
--HG--
branch : trunk
-rw-r--r-- | src/server/game/Scripting/ScriptMgr.cpp | 5 | ||||
-rw-r--r-- | src/server/game/Scripting/ScriptMgr.h | 15 |
2 files changed, 4 insertions, 16 deletions
diff --git a/src/server/game/Scripting/ScriptMgr.cpp b/src/server/game/Scripting/ScriptMgr.cpp index 0bffcd5a1fd..4c64f8251da 100644 --- a/src/server/game/Scripting/ScriptMgr.cpp +++ b/src/server/game/Scripting/ScriptMgr.cpp @@ -136,6 +136,7 @@ void DoScriptText(int32 iTextEntry, WorldObject* pSource, Unit* pTarget) } ScriptMgr::ScriptMgr() + : _scriptCount(0) { } @@ -1106,7 +1107,7 @@ WorldMapScript::WorldMapScript(const char* name, uint32 mapId) } InstanceMapScript::InstanceMapScript(const char* name, uint32 mapId) - : ScriptObject(name), MapScript<InstanceMap>(0) + : ScriptObject(name), MapScript<InstanceMap>(mapId) { if (GetEntry() && !GetEntry()->IsDungeon()) sLog.outError("InstanceMapScript for map %u is invalid.", mapId); @@ -1209,7 +1210,7 @@ AchievementCriteriaScript::AchievementCriteriaScript(const char* name) // Instantiate static members of ScriptMgr::ScriptRegistry. template<class TScript> std::map<uint32, TScript*> ScriptMgr::ScriptRegistry<TScript>::ScriptPointerList; -template<class TScript> uint32 ScriptMgr::ScriptRegistry<TScript>::_scriptIdCounter; +template<class TScript> uint32 ScriptMgr::ScriptRegistry<TScript>::_scriptIdCounter = 0; // Specialize for each script type class like so: template class ScriptMgr::ScriptRegistry<SpellHandlerScript>; diff --git a/src/server/game/Scripting/ScriptMgr.h b/src/server/game/Scripting/ScriptMgr.h index c98a1574d9d..cf583a68532 100644 --- a/src/server/game/Scripting/ScriptMgr.h +++ b/src/server/game/Scripting/ScriptMgr.h @@ -145,13 +145,6 @@ class ScriptObject public: - // Called when the script is initialized. Use it to initialize any properties of the script. Do not use - // the constructor for this. - virtual void OnInitialize() { } - - // Called when the script is deleted. Use it to free memory, etc. Do not use the destructor for this. - virtual void OnTeardown() { } - // Do not override this in scripts; it should be overridden by the various script type classes. It indicates // whether or not this script type must be assigned in the database. virtual bool IsDatabaseBound() const { return false; } @@ -163,14 +156,10 @@ class ScriptObject ScriptObject(const char* name) : _name(std::string(name)) { - // Allow the script to do startup routines. - OnInitialize(); } virtual ~ScriptObject() { - // Allow the script to do cleanup routines. - OnTeardown(); } private: @@ -902,7 +891,7 @@ class ScriptMgr sLog.outError("Script '%s' already assigned with the same script name, so the script can't work.", script->GetName().c_str()); - delete script; + ASSERT(false); // Error that should be fixed ASAP. } } else @@ -911,8 +900,6 @@ class ScriptMgr if (script->GetName().find("example") == std::string::npos) sLog.outErrorDb("Script named '%s' does not have a script name assigned in database.", script->GetName().c_str()); - - delete script; } } else |