CvCityManager::OnCityDestroyed(CvCity *)
- Defined in
- CvCityManager.cpp, line 97
- Class
- CvCityManager
- Hook name
CivHooks::CvCityManager_OnCityDestroyed
Hooks
static bool BeforeCvCityManager_OnCityDestroyed(CvCity* pkCity);static void AfterCvCityManager_OnCityDestroyed(CvCity* pkCity);static void ReplaceCvCityManager_OnCityDestroyed(void (*original)(CvCity*), CvCity* pkCity);CivRegisterBefore<CivHooks::CvCityManager_OnCityDestroyed>(host, &BeforeCvCityManager_OnCityDestroyed);CivRegisterAfter<CivHooks::CvCityManager_OnCityDestroyed>(host, &AfterCvCityManager_OnCityDestroyed);CivRegisterReplace<CivHooks::CvCityManager_OnCityDestroyed>(host, &ReplaceCvCityManager_OnCityDestroyed);
Code
97void CvCityManager::OnCityDestroyed(CvCity* pkCity)98{99 // Remove it from all the other city lists100 for (CityMap::iterator itr = ms_kCityMap.begin(); itr != ms_kCityMap.end(); ++itr)101 {102 if ((*itr).first != pkCity)103 {104 CityList &kCityList = (*itr).second;105 for (CityList::iterator itrNearby = kCityList.begin(); itrNearby != kCityList.end(); ++itrNearby)106 {107 if ((*itrNearby) == pkCity)108 {109 kCityList.erase(itrNearby);110 break;111 }112 }113 }114 }115116 // Then remove its list117 CityMap::iterator itr = ms_kCityMap.find(pkCity);118 if (itr != ms_kCityMap.end())119 {120 ms_kCityMap.erase(itr);121 }122}
Calls
std::_Tree::beginstd::_Tree::const_iterator::const_iteratorstd::_Tree::const_iterator::operator!=std::_Tree::endstd::_Tree::erasestd::_Tree::findstd::_Tree::iterator::operator*std::_Tree::iterator::operator++std::_Vector_const_iterator::_Vector_const_iteratorstd::_Vector_const_iterator::operator!=std::_Vector_iterator::operator*std::_Vector_iterator::operator++std::vector::beginstd::vector::endstd::vector::erase