Bazaar developer reference

CvCityStrategyAI::SetSpecialization(CitySpecializationTypes)

Defined in
CvCityStrategyAI.cpp, line 453
Class
CvCityStrategyAI
Hook name
CivHooks::CvCityStrategyAI_SetSpecialization

Hooks

static bool BeforeCvCityStrategyAI_SetSpecialization(CvCityStrategyAI* self, CitySpecializationTypes eSpecialization, bool& result);static void AfterCvCityStrategyAI_SetSpecialization(CvCityStrategyAI* self, CitySpecializationTypes eSpecialization, bool& result);static bool ReplaceCvCityStrategyAI_SetSpecialization(bool (*original)(CvCityStrategyAI*, CitySpecializationTypes), CvCityStrategyAI* self, CitySpecializationTypes eSpecialization);CivRegisterBefore<CivHooks::CvCityStrategyAI_SetSpecialization>(host, &BeforeCvCityStrategyAI_SetSpecialization);CivRegisterAfter<CivHooks::CvCityStrategyAI_SetSpecialization>(host, &AfterCvCityStrategyAI_SetSpecialization);CivRegisterReplace<CivHooks::CvCityStrategyAI_SetSpecialization>(host, &ReplaceCvCityStrategyAI_SetSpecialization);

Code

452/// Set special production emphasis for this city453bool CvCityStrategyAI::SetSpecialization(CitySpecializationTypes eSpecialization)454{455	if(eSpecialization != m_eSpecialization)456	{457		LogSpecializationChange(eSpecialization);458459		// Turn off old specialization460		SpecializationFlavorChange(false /*Don't turn on */, m_eSpecialization);461462		// Turn on new specialization463		SpecializationFlavorChange(true /* Do turn on */, eSpecialization);464465		m_eSpecialization = eSpecialization;466467		return true;468	}469470	return false;471}

Calls

Called by