Bazaar developer reference

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}

Calls

Called by