CvPlayer::GetFirstCityWithBuildingClass(BuildingClassTypes)
- Defined in
- CvPlayer.cpp, line 21808
- Class
- CvPlayer
- Hook name
CivHooks::CvPlayer_GetFirstCityWithBuildingClass
Hooks
static bool BeforeCvPlayer_GetFirstCityWithBuildingClass(CvPlayer* self, BuildingClassTypes eBuildingClass, CvCity*& result);static void AfterCvPlayer_GetFirstCityWithBuildingClass(CvPlayer* self, BuildingClassTypes eBuildingClass, CvCity*& result);static CvCity* ReplaceCvPlayer_GetFirstCityWithBuildingClass(CvCity* (*original)(CvPlayer*, BuildingClassTypes), CvPlayer* self, BuildingClassTypes eBuildingClass);CivRegisterBefore<CivHooks::CvPlayer_GetFirstCityWithBuildingClass>(host, &BeforeCvPlayer_GetFirstCityWithBuildingClass);CivRegisterAfter<CivHooks::CvPlayer_GetFirstCityWithBuildingClass>(host, &AfterCvPlayer_GetFirstCityWithBuildingClass);CivRegisterReplace<CivHooks::CvPlayer_GetFirstCityWithBuildingClass>(host, &ReplaceCvPlayer_GetFirstCityWithBuildingClass);
Code
21808CvCity* CvPlayer::GetFirstCityWithBuildingClass(BuildingClassTypes eBuildingClass)21809{21810 CvCity *pLoopCity;21811 int iLoop;21812 for(pLoopCity = firstCity(&iLoop); pLoopCity != NULL; pLoopCity = nextCity(&iLoop))21813 {21814 CvCivilizationInfo& playerCivilizationInfo = getCivilizationInfo();21815 BuildingTypes eBuilding = (BuildingTypes)playerCivilizationInfo.getCivilizationBuildings((BuildingClassTypes)eBuildingClass);21816 if (eBuilding != NO_BUILDING)21817 {21818 if (pLoopCity->GetCityBuildings()->GetNumBuilding(eBuilding) > 0)21819 {21820 return pLoopCity;21821 }21822 }21823 }21824 return false;21825}