CvPlayer::isBuildingClassMaxedOut(BuildingClassTypes, int) const
- Defined in
- CvPlayer.cpp, line 20555
- Class
- CvPlayer
- Hook name
CivHooks::CvPlayer_isBuildingClassMaxedOut
Hooks
static bool BeforeCvPlayer_isBuildingClassMaxedOut(const CvPlayer* self, BuildingClassTypes eIndex, int iExtra, bool& result);static void AfterCvPlayer_isBuildingClassMaxedOut(const CvPlayer* self, BuildingClassTypes eIndex, int iExtra, bool& result);static bool ReplaceCvPlayer_isBuildingClassMaxedOut(bool (*original)(const CvPlayer*, BuildingClassTypes, int), const CvPlayer* self, BuildingClassTypes eIndex, int iExtra);CivRegisterBefore<CivHooks::CvPlayer_isBuildingClassMaxedOut>(host, &BeforeCvPlayer_isBuildingClassMaxedOut);CivRegisterAfter<CivHooks::CvPlayer_isBuildingClassMaxedOut>(host, &AfterCvPlayer_isBuildingClassMaxedOut);CivRegisterReplace<CivHooks::CvPlayer_isBuildingClassMaxedOut>(host, &ReplaceCvPlayer_isBuildingClassMaxedOut);
Code
20555bool CvPlayer::isBuildingClassMaxedOut(BuildingClassTypes eIndex, int iExtra) const20556{20557 CvAssertMsg(eIndex >= 0, "eIndex is expected to be non-negative (invalid Index)");20558 CvAssertMsg(eIndex < GC.getNumBuildingClassInfos(), "eIndex is expected to be within maximum bounds (invalid Index)");2055920560 CvBuildingClassInfo* pkBuildingClassInfo = GC.getBuildingClassInfo(eIndex);20561 if(pkBuildingClassInfo == NULL)20562 {20563 CvAssertMsg(false, "This should never happen...");20564 return false;20565 }2056620567 if(!isNationalWonderClass(*pkBuildingClassInfo))20568 {20569 return false;20570 }2057120572 CvAssertMsg(getBuildingClassCount(eIndex) <= (pkBuildingClassInfo->getMaxPlayerInstances() + pkBuildingClassInfo->getExtraPlayerInstances()), "BuildingClassCount is expected to be less than or match the number of max player instances plus extra player instances");2057320574 return ((getBuildingClassCount(eIndex) + iExtra) >= (pkBuildingClassInfo->getMaxPlayerInstances() + pkBuildingClassInfo->getExtraPlayerInstances()));20575}