From fe7c616b2d079f9b1edb15f9795eaf3b5c55b9a8 Mon Sep 17 00:00:00 2001 From: megamage Date: Wed, 17 Jun 2009 18:37:53 -0500 Subject: [8031] Move player update code to Map::Update. Author: Ambal --HG-- branch : trunk --- src/game/Map.cpp | 9 +++++++++ src/game/MapManager.cpp | 5 ----- src/game/ObjectAccessor.cpp | 9 --------- src/game/ObjectAccessor.h | 1 - 4 files changed, 9 insertions(+), 15 deletions(-) (limited to 'src') diff --git a/src/game/Map.cpp b/src/game/Map.cpp index 344fcbc74a2..6dbb0e37c86 100644 --- a/src/game/Map.cpp +++ b/src/game/Map.cpp @@ -649,6 +649,15 @@ void Map::RemoveUnitFromNotify(int32 slot) void Map::Update(const uint32 &t_diff) { + /// update players at tick + for(m_mapRefIter = m_mapRefManager.begin(); m_mapRefIter != m_mapRefManager.end(); ++m_mapRefIter) + { + Player* plr = m_mapRefIter->getSource(); + if(plr && plr->IsInWorld()) + plr->Update(t_diff); + } + + /// update active cells around players and active objects resetMarkedCells(); Trinity::ObjectUpdater updater(t_diff); diff --git a/src/game/MapManager.cpp b/src/game/MapManager.cpp index 6c74237406f..ece2876cab4 100644 --- a/src/game/MapManager.cpp +++ b/src/game/MapManager.cpp @@ -251,11 +251,6 @@ MapManager::Update(uint32 diff) if( !i_timer.Passed() ) return; - sWorld.RecordTimeDiff(NULL); - ObjectAccessor::Instance().UpdatePlayers(i_timer.GetCurrent()); - sWorld.RecordTimeDiff("UpdatePlayers"); - - for(MapMapType::iterator iter=i_maps.begin(); iter != i_maps.end(); ++iter) { checkAndCorrectGridStatesArray(); // debugging code, should be deleted some day diff --git a/src/game/ObjectAccessor.cpp b/src/game/ObjectAccessor.cpp index 55e7d9179b8..70a1bada3f9 100644 --- a/src/game/ObjectAccessor.cpp +++ b/src/game/ObjectAccessor.cpp @@ -391,15 +391,6 @@ ObjectAccessor::Update(uint32 diff) } } -void -ObjectAccessor::UpdatePlayers(uint32 diff) -{ - HashMapHolder::MapType& playerMap = HashMapHolder::GetContainer(); - for(HashMapHolder::MapType::iterator iter = playerMap.begin(); iter != playerMap.end(); ++iter) - if(iter->second->IsInWorld()) - iter->second->Update(diff); -} - void ObjectAccessor::WorldObjectChangeAccumulator::Visit(PlayerMapType &m) { diff --git a/src/game/ObjectAccessor.h b/src/game/ObjectAccessor.h index 9736f9751eb..80aac0bcf92 100644 --- a/src/game/ObjectAccessor.h +++ b/src/game/ObjectAccessor.h @@ -201,7 +201,6 @@ class MANGOS_DLL_DECL ObjectAccessor : public MaNGOS::Singleton