template<class T> void ObjectUpdater::Visit(GridRefManager<T> &m) { for (typename GridRefManager<T>::iterator iter = m.begin(); iter != m.end(); ++iter) { if (iter->getSource()->IsInWorld()) iter->getSource()->Update(i_timeDiff); } }
void ObjectUpdater::Visit(GridRefManager<T>& m) { for (typename GridRefManager<T>::iterator iter = m.begin(); iter != m.end(); ++iter) { WorldObject::UpdateHelper helper(iter->getSource()); helper.Update(i_timeDiff); } }
void ObjectUpdater::Visit(GridRefManager<T> &m) { T* obj; for (typename GridRefManager<T>::iterator iter = m.begin(); iter != m.end(); ) { obj = iter->GetSource(); ++iter; if (obj->IsInWorld()) obj->Update(i_timeDiff); } }
void ObjectGridUnloader::Visit(GridRefManager<T>& m) { // remove all cross-reference before deleting for (typename GridRefManager<T>::iterator iter = m.begin(); iter != m.end(); ++iter) iter->getSource()->CleanupsBeforeDelete(); while (!m.isEmpty()) { T* obj = m.getFirst()->getSource(); // if option set then object already saved at this moment if (!sWorld.getConfig(CONFIG_BOOL_SAVE_RESPAWN_TIME_IMMEDIATELY)) obj->SaveRespawnTime(); ///- object must be out of world before delete obj->RemoveFromWorld(); ///- object will get delinked from the manager when deleted delete obj; } }
void ObjectGridCleaner::Visit(GridRefManager<T> &m) { for (typename GridRefManager<T>::iterator iter = m.begin(); iter != m.end(); ++iter) iter->GetSource()->CleanupsBeforeDelete(); }
void ObjectGridCleaner::Visit(GridRefManager<T> &m) { for (typename GridRefManager<T>::iterator iter = m.begin(); iter != m.end(); ++iter) iter->getSource()->RemoveFromWorld(); }
void ObjectUpdater::Visit(GridRefManager<T>& m) { for (typename GridRefManager<T>::iterator iter = m.begin(); iter != m.end(); ++iter) iter->getSource()->Update(i_timeDiff); }
template<class T> void ObjectUpdater::Visit(GridRefManager<T> &m) { for(typename GridRefManager<T>::iterator iter = m.begin(); iter != m.end(); ++iter) iter->getSource()->Update(i_realdiff, i_diff); }