Bazaar developer reference

CvBuildingProductionAI::Write(FDataStream &)

Defined in
CvBuildingProductionAI.cpp, line 99
Class
CvBuildingProductionAI
Hook name
CivHooks::CvBuildingProductionAI_Write

Hooks

static bool BeforeCvBuildingProductionAI_Write(CvBuildingProductionAI* self, FDataStream& kStream);static void AfterCvBuildingProductionAI_Write(CvBuildingProductionAI* self, FDataStream& kStream);static void ReplaceCvBuildingProductionAI_Write(void (*original)(CvBuildingProductionAI*, FDataStream&), CvBuildingProductionAI* self, FDataStream& kStream);CivRegisterBefore<CivHooks::CvBuildingProductionAI_Write>(host, &BeforeCvBuildingProductionAI_Write);CivRegisterAfter<CivHooks::CvBuildingProductionAI_Write>(host, &AfterCvBuildingProductionAI_Write);CivRegisterReplace<CivHooks::CvBuildingProductionAI_Write>(host, &ReplaceCvBuildingProductionAI_Write);

Code

98/// Serialization write99void CvBuildingProductionAI::Write(FDataStream& kStream)100{101	CvAssertMsg(m_pCityBuildings != NULL, "Building Production AI init failure: city buildings are NULL");102103	// Current version number104	uint uiVersion = 1;105	kStream << uiVersion;106	MOD_SERIALIZE_INIT_WRITE(kStream);107108	if(m_pCityBuildings)109	{110		int iNumBuildings = m_pCityBuildings->GetBuildings()->GetNumBuildings();111		kStream << iNumBuildings;112113		// Loop through writing each entry114		for(int iI = 0; iI < iNumBuildings; iI++)115		{116			const BuildingTypes eBuilding = static_cast<BuildingTypes>(iI);117			CvBuildingEntry* pkBuildingInfo = GC.getBuildingInfo(eBuilding);118			if(pkBuildingInfo)119			{120				CvInfosSerializationHelper::WriteHashed(kStream, pkBuildingInfo);121				kStream << m_BuildingAIWeights.GetWeight(iI);122			}123			else124			{125				kStream << (int)0;126			}127		}128	}129}

Calls

Called by