CvCityBuildings::GetNumBuildingsFromFaith() const
- Defined in
- CvBuildingClasses.cpp, line 3503
- Class
- CvCityBuildings
- Hook name
CivHooks::CvCityBuildings_GetNumBuildingsFromFaith
Hooks
static bool BeforeCvCityBuildings_GetNumBuildingsFromFaith(const CvCityBuildings* self, int& result);static void AfterCvCityBuildings_GetNumBuildingsFromFaith(const CvCityBuildings* self, int& result);static int ReplaceCvCityBuildings_GetNumBuildingsFromFaith(int (*original)(const CvCityBuildings*), const CvCityBuildings* self);CivRegisterBefore<CivHooks::CvCityBuildings_GetNumBuildingsFromFaith>(host, &BeforeCvCityBuildings_GetNumBuildingsFromFaith);CivRegisterAfter<CivHooks::CvCityBuildings_GetNumBuildingsFromFaith>(host, &AfterCvCityBuildings_GetNumBuildingsFromFaith);CivRegisterReplace<CivHooks::CvCityBuildings_GetNumBuildingsFromFaith>(host, &ReplaceCvCityBuildings_GetNumBuildingsFromFaith);
Code
3502/// Accessor: How many buildings in this city are ones that are built through Faith?3503int CvCityBuildings::GetNumBuildingsFromFaith() const3504{3505 int iRtnValue = 0;35063507 for(int iI = 0; iI < GC.getNumBuildingClassInfos(); iI++)3508 {3509 BuildingClassTypes eLoopBuildingClass = (BuildingClassTypes) iI;3510 CvCivilizationInfo *pkCivInfo = GC.getCivilizationInfo(m_pCity->getCivilizationType());3511 if (pkCivInfo)3512 {3513 BuildingTypes eBuilding = (BuildingTypes)pkCivInfo->getCivilizationBuildings(eLoopBuildingClass);3514 if (NO_BUILDING != eBuilding)3515 {3516 if (GetNumBuilding(eBuilding) > 0)3517 {3518 CvBuildingEntry *pkEntry = GC.getBuildingInfo(eBuilding);3519 if (pkEntry)3520 {3521 if (pkEntry->GetFaithCost() > 0 && pkEntry->IsUnlockedByBelief() && pkEntry->GetProductionCost() == -1)3522 {3523 iRtnValue++;3524 }3525 }3526 }3527 }3528 }3529 }35303531 return iRtnValue;3532}
Calls
- CvBuildingEntry::GetFaithCost() const
- CvBuildingEntry::GetProductionCost() const
- CvBuildingEntry::IsUnlockedByBelief() const
- CvCity::getCivilizationType() const
- CvCityBuildings::GetNumBuilding(BuildingTypes) const
- CvCivilizationInfo::getCivilizationBuildings(int) const
- CvGlobals::getBuildingInfo(BuildingTypes)
- CvGlobals::getCivilizationInfo(CivilizationTypes)
- CvGlobals::getNumBuildingClassInfos()