void VisibleNotifier::Visit(GameObjectMapType &m) { for (GameObjectMapType::iterator iter = m.begin(); iter != m.end(); ++iter) { vis_guids.erase(iter->GetSource()->GetGUID()); i_player.UpdateVisibilityOf(iter->GetSource(), i_data, i_visibleNow); } }
void ObjectGridEvacuator::Visit(GameObjectMapType &m) { // gameobject in unloading grid can have respawn point in another grid // if it will be unloaded then it will not respawn in original grid until unload/load original grid // move to respawn point to prevent this case. For player view in respawn grid this will be normal respawn. for (GameObjectMapType::iterator iter = m.begin(); iter != m.end();) { GameObject* go = iter->GetSource(); ++iter; go->GetMap()->GameObjectRespawnRelocation(go, true); } }