Bazaar developer reference

CvPlayerPolicies::Init(CvPolicyXMLEntries *, CvPlayer *, bool)

Defined in
CvPolicyClasses.cpp, line 2554
Class
CvPlayerPolicies
Hook name
CivHooks::CvPlayerPolicies_Init

Hooks

static bool BeforeCvPlayerPolicies_Init(CvPlayerPolicies* self, CvPolicyXMLEntries* pPolicies, CvPlayer* pPlayer, bool bIsCity);static void AfterCvPlayerPolicies_Init(CvPlayerPolicies* self, CvPolicyXMLEntries* pPolicies, CvPlayer* pPlayer, bool bIsCity);static void ReplaceCvPlayerPolicies_Init(void (*original)(CvPlayerPolicies*, CvPolicyXMLEntries*, CvPlayer*, bool), CvPlayerPolicies* self, CvPolicyXMLEntries* pPolicies, CvPlayer* pPlayer, bool bIsCity);CivRegisterBefore<CivHooks::CvPlayerPolicies_Init>(host, &BeforeCvPlayerPolicies_Init);CivRegisterAfter<CivHooks::CvPlayerPolicies_Init>(host, &AfterCvPlayerPolicies_Init);CivRegisterReplace<CivHooks::CvPlayerPolicies_Init>(host, &ReplaceCvPlayerPolicies_Init);

Code

2553/// Initialize2554void CvPlayerPolicies::Init(CvPolicyXMLEntries* pPolicies, CvPlayer* pPlayer, bool bIsCity)2555{2556	// Init base class2557	CvFlavorRecipient::Init();25582559	// Store off the pointer to the policies active for this game2560	m_bIsCity = bIsCity;2561	m_pPolicies = pPolicies;2562	m_pPlayer = pPlayer;25632564	// Initialize policy status array2565#if defined(MOD_API_EXTENSIONS)2566	CvAssertMsg(m_pabFreePolicy==NULL, "about to leak memory, CvPlayerPolicies::m_pabFreePolicy");2567	m_pabFreePolicy = FNEW(bool[m_pPolicies->GetNumPolicies()], c_eCiv5GameplayDLL, 0);2568#endif2569	CvAssertMsg(m_pabHasPolicy==NULL, "about to leak memory, CvPlayerPolicies::m_pabHasPolicy");2570	m_pabHasPolicy = FNEW(bool[m_pPolicies->GetNumPolicies()], c_eCiv5GameplayDLL, 0);2571	CvAssertMsg(m_pabHasOneShotPolicyFired==NULL, "about to leak memory, CvPlayerPolicies::m_pabHasOneShotPolicyFired");2572	m_pabHasOneShotPolicyFired = FNEW(bool[m_pPolicies->GetNumPolicies()], c_eCiv5GameplayDLL, 0);2573	CvAssertMsg(m_pabHaveOneShotFreeUnitsFired==NULL, "about to leak memory, CvPlayerPolicies::m_pabHaveOneShotFreeUnitsFired");2574	m_pabHaveOneShotFreeUnitsFired = FNEW(bool[m_pPolicies->GetNumPolicies()], c_eCiv5GameplayDLL, 0);25752576	// Policy Branches Chosen2577	CvAssertMsg(m_pabPolicyBranchUnlocked==NULL, "about to leak memory, CvPlayerPolicies::m_pabPolicyBranchUnlocked");2578	m_pabPolicyBranchUnlocked = FNEW(bool[m_pPolicies->GetNumPolicyBranches()], c_eCiv5GameplayDLL, 0);25792580	// Policy Branches Blocked by choices2581	CvAssertMsg(m_pabPolicyBranchBlocked==NULL, "about to leak memory, CvPlayerPolicies::m_pabPolicyBranchBlocked");2582	m_pabPolicyBranchBlocked = FNEW(bool[m_pPolicies->GetNumPolicyBranches()], c_eCiv5GameplayDLL, 0);25832584	// Policy Branches finished2585	CvAssertMsg(m_pabPolicyBranchFinished==NULL, "about to leak memory, CvPlayerPolicies::m_pabPolicyBranchFinished");2586	m_pabPolicyBranchFinished = FNEW(bool[m_pPolicies->GetNumPolicyBranches()], c_eCiv5GameplayDLL, 0);25872588	CvAssertMsg(m_paePolicyBranchesChosen==NULL, "about to leak memory, CvPlayerPolicies::m_paePolicyBranchesChosen");2589	m_paePolicyBranchesChosen = FNEW(PolicyBranchTypes[m_pPolicies->GetNumPolicyBranches()], c_eCiv5GameplayDLL, 0);25902591	CvAssertMsg(m_paePolicyBlockedBranchCheck==NULL, "about to leak memory, CvPlayerPolicies::m_paePolicyBlockedBranchCheck");2592	m_paePolicyBlockedBranchCheck = FNEW(PolicyBranchTypes[m_pPolicies->GetNumPolicies()], c_eCiv5GameplayDLL, 0);2593	2594	// Create AI object2595	m_pPolicyAI = FNEW(CvPolicyAI(this), c_eCiv5GameplayDLL, 0);25962597	Reset();2598}

Calls

Called by