Bazaar developer reference

CvEconomicAI::UseStrategy(EconomicAIStrategyTypes, bool)

Defined in
CvEconomicAI.cpp, line 863
Class
CvEconomicAI
Hook name
CivHooks::CvEconomicAI_UseStrategy

Hooks

static bool BeforeCvEconomicAI_UseStrategy(CvEconomicAI* self, EconomicAIStrategyTypes eStrategy, bool bUsingStrategy);static void AfterCvEconomicAI_UseStrategy(CvEconomicAI* self, EconomicAIStrategyTypes eStrategy, bool bUsingStrategy);static void ReplaceCvEconomicAI_UseStrategy(void (*original)(CvEconomicAI*, EconomicAIStrategyTypes, bool), CvEconomicAI* self, EconomicAIStrategyTypes eStrategy, bool bUsingStrategy);CivRegisterBefore<CivHooks::CvEconomicAI_UseStrategy>(host, &BeforeCvEconomicAI_UseStrategy);CivRegisterAfter<CivHooks::CvEconomicAI_UseStrategy>(host, &AfterCvEconomicAI_UseStrategy);CivRegisterReplace<CivHooks::CvEconomicAI_UseStrategy>(host, &ReplaceCvEconomicAI_UseStrategy);

Code

862#if defined(MOD_API_EXTENSIONS)863void CvEconomicAI::UseStrategy(EconomicAIStrategyTypes eStrategy, bool bUsingStrategy)864{865	CvEconomicAIStrategyXMLEntry* pStrategy = GetEconomicAIStrategies()->GetEntry(eStrategy);866	int iChange = bUsingStrategy ? 1 : -1;867868	SetUsingStrategy(eStrategy, bUsingStrategy);869870	for(int iFlavorLoop = 0; iFlavorLoop < GC.getNumFlavorTypes(); iFlavorLoop++)871	{872		m_aiTempFlavors[iFlavorLoop] = pStrategy->GetPlayerFlavorValue(iFlavorLoop) * iChange;873	}874875	GetPlayer()->GetFlavorManager()->ChangeFlavors(m_aiTempFlavors, true);876877	for(int iFlavorLoop = 0; iFlavorLoop < GC.getNumFlavorTypes(); iFlavorLoop++)878	{879		m_aiTempFlavors[iFlavorLoop] = pStrategy->GetCityFlavorValue(iFlavorLoop) * iChange;880	}881882	GetPlayer()->GetFlavorManager()->ChangeFlavors(m_aiTempFlavors, false);883}

Calls

Called by