diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/game/Map.cpp | 9 | ||||
-rw-r--r-- | src/game/MapManager.cpp | 5 | ||||
-rw-r--r-- | src/game/ObjectAccessor.cpp | 9 | ||||
-rw-r--r-- | src/game/ObjectAccessor.h | 1 |
4 files changed, 9 insertions, 15 deletions
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 @@ -392,15 +392,6 @@ ObjectAccessor::Update(uint32 diff) } void -ObjectAccessor::UpdatePlayers(uint32 diff) -{ - HashMapHolder<Player>::MapType& playerMap = HashMapHolder<Player>::GetContainer(); - for(HashMapHolder<Player>::MapType::iterator iter = playerMap.begin(); iter != playerMap.end(); ++iter) - if(iter->second->IsInWorld()) - iter->second->Update(diff); -} - -void ObjectAccessor::WorldObjectChangeAccumulator::Visit(PlayerMapType &m) { for(PlayerMapType::iterator iter = m.begin(); iter != m.end(); ++iter) 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<ObjectAccessor, } void Update(uint32 diff); - void UpdatePlayers(uint32 diff); Corpse* GetCorpseForPlayerGUID(uint64 guid); void RemoveCorpse(Corpse *corpse); |