CvPlayer::GetBuildingClassYieldChange(BuildingClassTypes, YieldTypes)
- Defined in
- CvPlayer.cpp, line 9392
- Class
- CvPlayer
- Hook name
CivHooks::CvPlayer_GetBuildingClassYieldChange
Hooks
static bool BeforeCvPlayer_GetBuildingClassYieldChange(CvPlayer* self, BuildingClassTypes eBuildingClass, YieldTypes eYieldType, int& result);static void AfterCvPlayer_GetBuildingClassYieldChange(CvPlayer* self, BuildingClassTypes eBuildingClass, YieldTypes eYieldType, int& result);static int ReplaceCvPlayer_GetBuildingClassYieldChange(int (*original)(CvPlayer*, BuildingClassTypes, YieldTypes), CvPlayer* self, BuildingClassTypes eBuildingClass, YieldTypes eYieldType);CivRegisterBefore<CivHooks::CvPlayer_GetBuildingClassYieldChange>(host, &BeforeCvPlayer_GetBuildingClassYieldChange);CivRegisterAfter<CivHooks::CvPlayer_GetBuildingClassYieldChange>(host, &AfterCvPlayer_GetBuildingClassYieldChange);CivRegisterReplace<CivHooks::CvPlayer_GetBuildingClassYieldChange>(host, &ReplaceCvPlayer_GetBuildingClassYieldChange);
Code
9391/// Get yield change from buildings for a specific building class9392int CvPlayer::GetBuildingClassYieldChange(BuildingClassTypes eBuildingClass, YieldTypes eYieldType)9393{9394 int rtnValue = 0;93959396 CvBuildingXMLEntries* pBuildings = GC.GetGameBuildings();93979398 if(pBuildings)9399 {9400 for(int i = 0; i < pBuildings->GetNumBuildings(); i++)9401 {9402 // Do we have this building anywhere in empire?9403 if(countNumBuildings((BuildingTypes)i) > 0)9404 {9405 CvBuildingEntry* pEntry = pBuildings->GetEntry(i);9406 if(pEntry)9407 {9408 rtnValue += pEntry->GetBuildingClassYieldChange(eBuildingClass, eYieldType);9409 }9410 }9411 }9412 }94139414 return rtnValue;9415}