CvCityCulture::ClearGreatWorks()
- Defined in
- CvCultureClasses.cpp, line 4374
- Class
- CvCityCulture
- Hook name
CivHooks::CvCityCulture_ClearGreatWorks
Hooks
static bool BeforeCvCityCulture_ClearGreatWorks(CvCityCulture* self);static void AfterCvCityCulture_ClearGreatWorks(CvCityCulture* self);static void ReplaceCvCityCulture_ClearGreatWorks(void (*original)(CvCityCulture*), CvCityCulture* self);CivRegisterBefore<CivHooks::CvCityCulture_ClearGreatWorks>(host, &BeforeCvCityCulture_ClearGreatWorks);CivRegisterAfter<CivHooks::CvCityCulture_ClearGreatWorks>(host, &AfterCvCityCulture_ClearGreatWorks);CivRegisterReplace<CivHooks::CvCityCulture_ClearGreatWorks>(host, &ReplaceCvCityCulture_ClearGreatWorks);
Code
4373/// Clear out Great Works in a city (used by scenarios)4374void CvCityCulture::ClearGreatWorks()4375{4376 CvPlayer &kCityPlayer = GET_PLAYER(m_pCity->getOwner());4377 for(int iBuildingClassLoop = 0; iBuildingClassLoop < GC.getNumBuildingClassInfos(); iBuildingClassLoop++)4378 {4379 CvCivilizationInfo& playerCivilizationInfo = kCityPlayer.getCivilizationInfo();4380 BuildingTypes eBuilding = (BuildingTypes)playerCivilizationInfo.getCivilizationBuildings((BuildingClassTypes)iBuildingClassLoop);4381 if (eBuilding != NO_BUILDING)4382 {4383 CvBuildingEntry *pkBuilding = GC.getBuildingInfo(eBuilding);4384 if (pkBuilding)4385 {4386 if (m_pCity->GetCityBuildings()->GetNumBuilding(eBuilding) > 0)4387 {4388 int iNumSlots = pkBuilding->GetGreatWorkCount();4389 for (int iI = 0; iI < iNumSlots; iI++)4390 {4391 m_pCity->GetCityBuildings()->SetBuildingGreatWork((BuildingClassTypes)iBuildingClassLoop, iI, -1);4392 }4393 }4394 }4395 }4396 }4397}
Calls
- CvBuildingEntry::GetGreatWorkCount() const
- CvCity::GetCityBuildings() const
- CvCity::getOwner() const
- CvCityBuildings::GetNumBuilding(BuildingTypes) const
- CvCityBuildings::SetBuildingGreatWork(BuildingClassTypes, int, int)
- CvCivilizationInfo::getCivilizationBuildings(int) const
- CvGlobals::getBuildingInfo(BuildingTypes)
- CvGlobals::getNumBuildingClassInfos()
- CvPlayer::getCivilizationInfo() const
- CvPlayerAI::getPlayer(PlayerTypes)