Core/Scripts: Split OnCreatureCreate() and OnGameObjectCreate() into two virtual functions each.

Note to scripters: be aware that you will need to hook into the Remove functions if you want to do stuff at GO/creature removal.
Closes issue 5011.

--HG--
branch : trunk
This commit is contained in:
leak
2010-12-05 18:04:10 +01:00
parent dfa1e9532b
commit 6fe19b5a86
65 changed files with 1139 additions and 1132 deletions
@@ -125,7 +125,7 @@ void GameObject::AddToWorld()
if (!IsInWorld())
{
if (m_zoneScript)
m_zoneScript->OnGameObjectCreate(this, true);
m_zoneScript->OnGameObjectCreate(this);
sObjectAccessor.AddObject(this);
WorldObject::AddToWorld();
@@ -138,7 +138,7 @@ void GameObject::RemoveFromWorld()
if (IsInWorld())
{
if (m_zoneScript)
m_zoneScript->OnGameObjectCreate(this, false);
m_zoneScript->OnGameObjectRemove(this);
// Possible crash at access to deleted GO in Unit::m_gameobj
if (uint64 owner_guid = GetOwnerGUID())