Bazaar developer reference

CvPlayer::GetSpecificBuildingType(const char *, bool)

Defined in
CvPlayer.cpp, line 3985
Class
CvPlayer
Hook name
CivHooks::CvPlayer_GetSpecificBuildingType

Hooks

static bool BeforeCvPlayer_GetSpecificBuildingType(CvPlayer* self, const char* szBuildingClass, bool hideAssert, BuildingTypes& result);static void AfterCvPlayer_GetSpecificBuildingType(CvPlayer* self, const char* szBuildingClass, bool hideAssert, BuildingTypes& result);static BuildingTypes ReplaceCvPlayer_GetSpecificBuildingType(BuildingTypes (*original)(CvPlayer*, const char*, bool), CvPlayer* self, const char* szBuildingClass, bool hideAssert);CivRegisterBefore<CivHooks::CvPlayer_GetSpecificBuildingType>(host, &BeforeCvPlayer_GetSpecificBuildingType);CivRegisterAfter<CivHooks::CvPlayer_GetSpecificBuildingType>(host, &AfterCvPlayer_GetSpecificBuildingType);CivRegisterReplace<CivHooks::CvPlayer_GetSpecificBuildingType>(host, &ReplaceCvPlayer_GetSpecificBuildingType);

Code

3984// Given a building class, get the players specific building of that class3985BuildingTypes CvPlayer::GetSpecificBuildingType(const char* szBuildingClass, bool hideAssert)3986{3987	BuildingTypes eBuildingType = NO_BUILDING;3988	BuildingClassTypes eBuildingClassType = (BuildingClassTypes) GC.getInfoTypeForString(szBuildingClass, hideAssert);39893990	const CvBuildingClassInfo* pkBuildingClassInfo = GC.getBuildingClassInfo(eBuildingClassType);3991	3992	if (pkBuildingClassInfo)3993	{3994		CvCivilizationInfo* pCivilizationInfo = GC.getCivilizationInfo(getCivilizationType());3995		3996		if (pCivilizationInfo != NULL)3997		{3998			eBuildingType = (BuildingTypes) pCivilizationInfo->getCivilizationBuildings(eBuildingClassType);3999		}4000		else4001		{4002			eBuildingType = (BuildingTypes) pkBuildingClassInfo->getDefaultBuildingIndex();4003		}4004	}4005	4006	if (!isMinorCiv() && !isBarbarian()) {4007		if (eBuildingType == NO_BUILDING) {4008			CUSTOMLOG("GetSpecificBuildingType for player %s: %s is UNKNOWN!!!", getName(), szBuildingClass);4009		} else {4010			// CUSTOMLOG("GetSpecificBuildingType for player %s: %s is %s", getName(), szBuildingClass, GC.getBuildingInfo(eBuildingType)->GetType());4011		}4012	}40134014	return eBuildingType;4015}

Calls

Called by