Hooks
static bool BeforeCvEconomicAI_Init(CvEconomicAI* self, CvEconomicAIStrategyXMLEntries* pAIStrategies, CvPlayer* pPlayer);static void AfterCvEconomicAI_Init(CvEconomicAI* self, CvEconomicAIStrategyXMLEntries* pAIStrategies, CvPlayer* pPlayer);static void ReplaceCvEconomicAI_Init(void (*original)(CvEconomicAI*, CvEconomicAIStrategyXMLEntries*, CvPlayer*), CvEconomicAI* self, CvEconomicAIStrategyXMLEntries* pAIStrategies, CvPlayer* pPlayer);CivRegisterBefore<CivHooks::CvEconomicAI_Init>(host, &BeforeCvEconomicAI_Init);CivRegisterAfter<CivHooks::CvEconomicAI_Init>(host, &AfterCvEconomicAI_Init);CivRegisterReplace<CivHooks::CvEconomicAI_Init>(host, &ReplaceCvEconomicAI_Init);
Code
258/// Initialize259void CvEconomicAI::Init(CvEconomicAIStrategyXMLEntries* pAIStrategies, CvPlayer* pPlayer)260{261 // Store off the pointer to the AIStrategies active for this game262 m_pAIStrategies = pAIStrategies;263264 m_pPlayer = pPlayer;265266 // Initialize arrays267 FAssertMsg(m_pabUsingStrategy==NULL, "about to leak memory, CvStrategyAI::m_pabUsingStrategy");268 m_pabUsingStrategy = FNEW(bool[m_pAIStrategies->GetNumEconomicAIStrategies()], c_eCiv5GameplayDLL, 0);269270 FAssertMsg(m_paiTurnStrategyAdopted==NULL, "about to leak memory, CvStrategyAI::m_paiTurnStrategyAdopted");271 m_paiTurnStrategyAdopted = FNEW(int[m_pAIStrategies->GetNumEconomicAIStrategies()], c_eCiv5GameplayDLL, 0);272273 FAssertMsg(m_aiTempFlavors==NULL, "about to leak memory, CvStrategyAI::m_aiTempFlavors");274 m_aiTempFlavors = FNEW(int[GC.getNumFlavorTypes()], c_eCiv5GameplayDLL, 0);275276 m_auiYields.clear();277 m_auiYields.push_back_copy(-1, NUM_YIELD_TYPES);278 m_RequestedSavings.clear();279280 Reset();281}