Bazaar developer reference

CvCityBuildings::Init(CvBuildingXMLEntries *, CvCity *)

Defined in
CvBuildingClasses.cpp, line 2231
Class
CvCityBuildings
Hook name
CivHooks::CvCityBuildings_Init

Hooks

static bool BeforeCvCityBuildings_Init(CvCityBuildings* self, CvBuildingXMLEntries* pBuildings, CvCity* pCity);static void AfterCvCityBuildings_Init(CvCityBuildings* self, CvBuildingXMLEntries* pBuildings, CvCity* pCity);static void ReplaceCvCityBuildings_Init(void (*original)(CvCityBuildings*, CvBuildingXMLEntries*, CvCity*), CvCityBuildings* self, CvBuildingXMLEntries* pBuildings, CvCity* pCity);CivRegisterBefore<CivHooks::CvCityBuildings_Init>(host, &BeforeCvCityBuildings_Init);CivRegisterAfter<CivHooks::CvCityBuildings_Init>(host, &AfterCvCityBuildings_Init);CivRegisterReplace<CivHooks::CvCityBuildings_Init>(host, &ReplaceCvCityBuildings_Init);

Code

2230/// Initialize2231void CvCityBuildings::Init(CvBuildingXMLEntries* pBuildings, CvCity* pCity)2232{2233	// Store off the pointers to objects we'll need later2234	m_pBuildings = pBuildings;2235	m_pCity = pCity;22362237	// Initialize status arrays22382239	int iNumBuildings = m_pBuildings->GetNumBuildings();22402241	CvAssertMsg((0 < iNumBuildings),  "m_pBuildings->GetNumBuildings() is not greater than zero but an array is being allocated in CvCityBuildings::Init");22422243	CvAssertMsg(m_paiBuildingProduction==NULL, "about to leak memory, CvCityBuildings::m_paiBuildingProduction");2244	m_paiBuildingProduction = FNEW(int[iNumBuildings], c_eCiv5GameplayDLL, 0);22452246	CvAssertMsg(m_paiBuildingProductionTime==NULL, "about to leak memory, CvCityBuildings::m_paiBuildingProductionTime");2247	m_paiBuildingProductionTime = FNEW(int[iNumBuildings], c_eCiv5GameplayDLL, 0);22482249	CvAssertMsg(m_paiBuildingOriginalOwner==NULL, "about to leak memory, CvCityBuildings::m_paiBuildingOriginalOwner");2250	m_paiBuildingOriginalOwner = FNEW(int[iNumBuildings], c_eCiv5GameplayDLL, 0);22512252	CvAssertMsg(m_paiBuildingOriginalTime==NULL, "about to leak memory, CvCityBuildings::m_paiBuildingOriginalTime");2253	m_paiBuildingOriginalTime = FNEW(int[iNumBuildings], c_eCiv5GameplayDLL, 0);22542255	CvAssertMsg(m_paiNumRealBuilding==NULL, "about to leak memory, CvCityBuildings::m_paiNumRealBuilding");2256	m_paiNumRealBuilding = FNEW(int[iNumBuildings], c_eCiv5GameplayDLL, 0);22572258	CvAssertMsg(m_paiNumFreeBuilding==NULL, "about to leak memory, CvCityBuildings::m_paiNumFreeBuilding");2259	m_paiNumFreeBuilding = FNEW(int[iNumBuildings], c_eCiv5GameplayDLL, 0);22602261	m_aBuildingYieldChange.clear();2262	m_aBuildingGreatWork.clear();22632264	Reset();2265}

Calls

Called by