Bazaar developer reference

CvCityStrategyAI::Init(CvAICityStrategies *, CvCity *, bool)

Defined in
CvCityStrategyAI.cpp, line 256
Class
CvCityStrategyAI
Hook name
CivHooks::CvCityStrategyAI_Init

Hooks

static bool BeforeCvCityStrategyAI_Init(CvCityStrategyAI* self, CvAICityStrategies* pAICityStrategies, CvCity* pCity, bool bIsCity);static void AfterCvCityStrategyAI_Init(CvCityStrategyAI* self, CvAICityStrategies* pAICityStrategies, CvCity* pCity, bool bIsCity);static void ReplaceCvCityStrategyAI_Init(void (*original)(CvCityStrategyAI*, CvAICityStrategies*, CvCity*, bool), CvCityStrategyAI* self, CvAICityStrategies* pAICityStrategies, CvCity* pCity, bool bIsCity);CivRegisterBefore<CivHooks::CvCityStrategyAI_Init>(host, &BeforeCvCityStrategyAI_Init);CivRegisterAfter<CivHooks::CvCityStrategyAI_Init>(host, &AfterCvCityStrategyAI_Init);CivRegisterReplace<CivHooks::CvCityStrategyAI_Init>(host, &ReplaceCvCityStrategyAI_Init);

Code

255/// Initialize256void CvCityStrategyAI::Init(CvAICityStrategies* pAICityStrategies, CvCity* pCity, bool bIsCity)257{258	// Init base class259	CvFlavorRecipient::Init();260261	// Store off the pointers passed in to this object262	m_bIsCity = bIsCity;263	m_pAICityStrategies = pAICityStrategies;264	m_pCity = pCity;265266	// Initialize arrays267	CvAssertMsg(m_pabUsingCityStrategy==NULL, "about to leak memory, CvCityAIStrategies::m_pabUsingCityStrategy");268	m_pabUsingCityStrategy = FNEW(bool[m_pAICityStrategies->GetNumAICityStrategies()], c_eCiv5GameplayDLL, 0);269270	CvAssertMsg(m_paiTurnCityStrategyAdopted==NULL, "about to leak memory, CvCityAIStrategies::m_paiTurnCityStrategyAdopted");271	m_paiTurnCityStrategyAdopted = FNEW(int[m_pAICityStrategies->GetNumAICityStrategies()], c_eCiv5GameplayDLL, 0);272273	CvAssertMsg(m_aiTempFlavors==NULL, "about to leak memory, CvCityAIStrategies::m_aiTempFlavors");274	m_aiTempFlavors = FNEW(int[GC.getNumFlavorTypes()], c_eCiv5GameplayDLL, 0);275276	// Create AI subobjects277	m_pBuildingProductionAI = FNEW(CvBuildingProductionAI(pCity, pCity->GetCityBuildings()), c_eCiv5GameplayDLL, 0);278	m_pUnitProductionAI = FNEW(CvUnitProductionAI(pCity, GC.GetGameUnits()), c_eCiv5GameplayDLL, 0);279	m_pProjectProductionAI = FNEW(CvProjectProductionAI(pCity), c_eCiv5GameplayDLL, 0);280	m_pProcessProductionAI = FNEW(CvProcessProductionAI(pCity), c_eCiv5GameplayDLL, 0);281282	// Clear variables283	Reset();284}

Calls

Called by