diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/game/Object.cpp | 10 | ||||
-rw-r--r-- | src/game/Object.h | 7 |
2 files changed, 9 insertions, 8 deletions
diff --git a/src/game/Object.cpp b/src/game/Object.cpp index 7ca7a58f90c..e7d07422c7a 100644 --- a/src/game/Object.cpp +++ b/src/game/Object.cpp @@ -1554,16 +1554,14 @@ void WorldObject::SendObjectDeSpawnAnim(uint64 guid) SendMessageToSet(&data, true); } -Map* WorldObject::GetMap() const +Map* WorldObject::_getMap() { - if(m_map) return m_map; - else return const_cast<Map*>(m_map) = MapManager::Instance().GetMap(GetMapId(), this); + return m_map = MapManager::Instance().GetMap(GetMapId(), this); } -Map* WorldObject::FindMap() const +Map* WorldObject::_findMap() { - if(m_map) return m_map; - else return const_cast<Map*>(m_map) = MapManager::Instance().FindMap(GetMapId(), GetInstanceId()); + return m_map = MapManager::Instance().FindMap(GetMapId(), GetInstanceId()); } Map const* WorldObject::GetBaseMap() const diff --git a/src/game/Object.h b/src/game/Object.h index e19d9be41ce..3840337e437 100644 --- a/src/game/Object.h +++ b/src/game/Object.h @@ -480,8 +480,8 @@ class TRINITY_DLL_SPEC WorldObject : public Object // Low Level Packets void SendPlaySound(uint32 Sound, bool OnlySelf); - Map * GetMap() const; - Map * FindMap() const; + Map * GetMap() const { return m_map ? m_map : const_cast<WorldObject*>(this)->_getMap(); } + Map * FindMap() const { return m_map ? m_map : const_cast<WorldObject*>(this)->_findMap(); } Map const* GetBaseMap() const; Creature* SummonCreature(uint32 id, float x, float y, float z, float ang,TempSummonType spwtype,uint32 despwtime); GameObject* SummonGameObject(uint32 entry, float x, float y, float z, float ang, float rotation0, float rotation1, float rotation2, float rotation3, uint32 respawnTime); @@ -504,6 +504,9 @@ class TRINITY_DLL_SPEC WorldObject : public Object uint32 m_InstanceId; Map *m_map; + Map* _getMap(); + Map* _findMap(); + float m_positionX; float m_positionY; float m_positionZ; |