mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-28 21:02:14 +01:00
[8182] Store and use Map* pointer in WorldObject instead map ids for speedup Author: Ambal
Also some code logic cleanups.
Changes let make more cleanups in base map access and other places,
but this chnages not inlcuded in patch.
*This patch may cause crash.
--HG--
branch : trunk
This commit is contained in:
@@ -1048,8 +1048,8 @@ bool Object::PrintIndexError(uint32 index, bool set) const
|
||||
|
||||
WorldObject::WorldObject()
|
||||
: m_mapId(0), m_InstanceId(0), m_phaseMask(PHASEMASK_NORMAL),
|
||||
m_positionX(0.0f), m_positionY(0.0f), m_positionZ(0.0f), m_orientation(0.0f)
|
||||
, m_map(NULL), m_zoneScript(NULL)
|
||||
m_positionX(0.0f), m_positionY(0.0f), m_positionZ(0.0f), m_orientation(0.0f), m_currMap(NULL)
|
||||
, m_zoneScript(NULL)
|
||||
, m_isActive(false), IsTempWorldObject(false)
|
||||
, m_name("")
|
||||
{
|
||||
@@ -1100,11 +1100,9 @@ void WorldObject::CleanupsBeforeDelete()
|
||||
{
|
||||
}
|
||||
|
||||
void WorldObject::_Create( uint32 guidlow, HighGuid guidhigh, uint32 mapid, uint32 phaseMask )
|
||||
void WorldObject::_Create( uint32 guidlow, HighGuid guidhigh, uint32 phaseMask )
|
||||
{
|
||||
Object::_Create(guidlow, 0, guidhigh);
|
||||
|
||||
m_mapId = mapid;
|
||||
m_phaseMask = phaseMask;
|
||||
}
|
||||
|
||||
@@ -1676,19 +1674,19 @@ void WorldObject::SendObjectDeSpawnAnim(uint64 guid)
|
||||
SendMessageToSet(&data, true);
|
||||
}
|
||||
|
||||
Map* WorldObject::_getMap()
|
||||
void WorldObject::SetMap(Map * map)
|
||||
{
|
||||
return m_map = MapManager::Instance().GetMap(GetMapId(), this);
|
||||
}
|
||||
|
||||
Map* WorldObject::_findMap()
|
||||
{
|
||||
return m_map = MapManager::Instance().FindMap(GetMapId(), GetInstanceId());
|
||||
ASSERT(map);
|
||||
m_currMap = map;
|
||||
//lets save current map's Id/instanceId
|
||||
m_mapId = map->GetId();
|
||||
m_InstanceId = map->GetInstanceId();
|
||||
}
|
||||
|
||||
Map const* WorldObject::GetBaseMap() const
|
||||
{
|
||||
return MapManager::Instance().CreateBaseMap(GetMapId());
|
||||
ASSERT(m_currMap);
|
||||
return m_currMap->GetParent();
|
||||
}
|
||||
|
||||
void WorldObject::AddObjectToRemoveList()
|
||||
|
||||
Reference in New Issue
Block a user