Bazaar developer reference

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

Called by