Bazaar developer reference

CvCityBuildings::Write(FDataStream &)

Defined in
CvBuildingClasses.cpp, line 2337
Class
CvCityBuildings
Hook name
CivHooks::CvCityBuildings_Write

Hooks

static bool BeforeCvCityBuildings_Write(CvCityBuildings* self, FDataStream& kStream);static void AfterCvCityBuildings_Write(CvCityBuildings* self, FDataStream& kStream);static void ReplaceCvCityBuildings_Write(void (*original)(CvCityBuildings*, FDataStream&), CvCityBuildings* self, FDataStream& kStream);CivRegisterBefore<CivHooks::CvCityBuildings_Write>(host, &BeforeCvCityBuildings_Write);CivRegisterAfter<CivHooks::CvCityBuildings_Write>(host, &AfterCvCityBuildings_Write);CivRegisterReplace<CivHooks::CvCityBuildings_Write>(host, &ReplaceCvCityBuildings_Write);

Code

2336/// Serialization write2337void CvCityBuildings::Write(FDataStream& kStream)2338{2339	CvAssertMsg(m_pBuildings != NULL && m_pBuildings->GetNumBuildings() > 0, "Number of buildings to serialize is expected to greater than 0");23402341	// Current version number2342	uint uiVersion = 1;2343	kStream << uiVersion;2344	MOD_SERIALIZE_INIT_WRITE(kStream);23452346	kStream << m_iNumBuildings;2347	kStream << m_iBuildingProductionModifier;2348	kStream << m_iBuildingDefense;2349	kStream << m_iBuildingDefenseMod;2350	kStream << m_iMissionaryExtraSpreads;2351	kStream << m_iLandmarksTourismPercent;2352	kStream << m_iGreatWorksTourismModifier;2353	kStream << m_bSoldBuildingThisTurn;23542355#ifdef _MSC_VER2356#pragma warning ( push )2357#pragma warning ( disable : 6011 ) // if m_pBuildings is NULL during load, we're screwed. Redesign the class or the loader code.2358#endif//_MSC_VER2359	int iNumBuildings = m_pBuildings->GetNumBuildings();2360#ifdef _MSC_VER2361#pragma warning ( pop )2362#endif//_MSC_VER23632364	BuildingArrayHelpers::Write(kStream, m_paiBuildingProduction, iNumBuildings);2365	BuildingArrayHelpers::Write(kStream, m_paiBuildingProductionTime, iNumBuildings);2366	BuildingArrayHelpers::Write(kStream, m_paiBuildingOriginalOwner, iNumBuildings);2367	BuildingArrayHelpers::Write(kStream, m_paiBuildingOriginalTime, iNumBuildings);2368	BuildingArrayHelpers::Write(kStream, m_paiNumRealBuilding, iNumBuildings);2369	BuildingArrayHelpers::Write(kStream, m_paiNumFreeBuilding, iNumBuildings);23702371	kStream << m_aBuildingYieldChange;2372	kStream << m_aBuildingGreatWork;2373}

Calls

Called by