*Move relocation notify back to map class so that mtmap can work better.
--HG-- branch : trunk
This commit is contained in:
@@ -194,6 +194,8 @@ Map::Map(uint32 id, time_t expiry, uint32 InstanceId, uint8 SpawnMode)
|
||||
i_gridExpiry(expiry)
|
||||
, i_lock(true)
|
||||
{
|
||||
m_notifyTimer.SetInterval(IN_MILISECONDS/2);
|
||||
|
||||
for(unsigned int idx=0; idx < MAX_NUMBER_OF_GRIDS; ++idx)
|
||||
{
|
||||
for(unsigned int j=0; j < MAX_NUMBER_OF_GRIDS; ++j)
|
||||
@@ -757,6 +759,12 @@ void Map::Update(const uint32 &t_diff)
|
||||
MoveAllCreaturesInMoveList();
|
||||
RemoveAllObjectsInRemoveList();
|
||||
|
||||
if(m_notifyTimer.Passed())
|
||||
{
|
||||
m_notifyTimer.Reset();
|
||||
RelocationNotify();
|
||||
}
|
||||
|
||||
// Don't unload grids if it's battleground, since we may have manually added GOs,creatures, those doesn't load from DB at grid re-load !
|
||||
// This isn't really bother us, since as soon as we have instanced BG-s, the whole map unloads as the BG gets ended
|
||||
if (IsBattleGroundOrArena())
|
||||
|
||||
@@ -495,6 +495,7 @@ class MANGOS_DLL_SPEC Map : public GridRefManager<NGridType>, public MaNGOS::Obj
|
||||
std::bitset<TOTAL_NUMBER_OF_CELLS_PER_MAP*TOTAL_NUMBER_OF_CELLS_PER_MAP> marked_cells;
|
||||
|
||||
time_t i_gridExpiry;
|
||||
IntervalTimer m_notifyTimer;
|
||||
|
||||
bool i_lock;
|
||||
std::vector<Unit*> i_unitsToNotifyBacklog;
|
||||
|
||||
+2
-2
@@ -1752,11 +1752,11 @@ void World::Update(uint32 diff)
|
||||
///- Update objects when the timer has passed (maps, transport, creatures,...)
|
||||
MapManager::Instance().Update(diff); // As interval = 0
|
||||
|
||||
if(m_timers[WUPDATE_OBJECTS].Passed())
|
||||
/*if(m_timers[WUPDATE_OBJECTS].Passed())
|
||||
{
|
||||
m_timers[WUPDATE_OBJECTS].Reset();
|
||||
MapManager::Instance().DoDelayedMovesAndRemoves();
|
||||
}
|
||||
}*/
|
||||
|
||||
///- Process necessary scripts
|
||||
if (!m_scriptSchedule.empty())
|
||||
|
||||
Reference in New Issue
Block a user