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
- CvEconomicAI::GetEconomicAIStrategies()
- CvEconomicAI::GetPlayer()
- CvEconomicAI::SetUsingStrategy(EconomicAIStrategyTypes, bool)
- CvEconomicAIStrategyXMLEntries::GetEntry(int)
- CvEconomicAIStrategyXMLEntry::GetCityFlavorValue(int) const
- CvEconomicAIStrategyXMLEntry::GetPlayerFlavorValue(int) const
- CvFlavorManager::ChangeFlavors(int *, bool)
- CvGlobals::getNumFlavorTypes()
- CvPlayer::GetFlavorManager() const