Bazaar developer reference

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}

Calls

Called by