Bazaar developer reference

CvPlayerTechs::Read(FDataStream &)

Defined in
CvTechClasses.cpp, line 817
Class
CvPlayerTechs
Hook name
CivHooks::CvPlayerTechs_Read

Hooks

static bool BeforeCvPlayerTechs_Read(CvPlayerTechs* self, FDataStream& kStream);static void AfterCvPlayerTechs_Read(CvPlayerTechs* self, FDataStream& kStream);static void ReplaceCvPlayerTechs_Read(void (*original)(CvPlayerTechs*, FDataStream&), CvPlayerTechs* self, FDataStream& kStream);CivRegisterBefore<CivHooks::CvPlayerTechs_Read>(host, &BeforeCvPlayerTechs_Read);CivRegisterAfter<CivHooks::CvPlayerTechs_Read>(host, &AfterCvPlayerTechs_Read);CivRegisterReplace<CivHooks::CvPlayerTechs_Read>(host, &ReplaceCvPlayerTechs_Read);

Code

816/// Serialization read817void CvPlayerTechs::Read(FDataStream& kStream)818{819	// Version number to maintain backwards compatibility820	uint uiVersion;821	kStream >> uiVersion;822	MOD_SERIALIZE_INIT_READ(kStream);823824	// TODO: If m_pTechs is NULL then the stream will not be advanced causing errors to occur.825	CvAssertMsg(m_pTechs != NULL && m_pTechs->GetNumTechs() > 0, "Number of techs to serialize is expected to greater than 0");826	if(m_pTechs != NULL)827	{828		const int iNumTechs = m_pTechs->GetNumTechs();829830		CvInfosSerializationHelper::ReadHashedDataArray(kStream, m_pabResearchingTech, iNumTechs);831		CvInfosSerializationHelper::ReadHashedDataArray(kStream, m_piCivTechPriority, iNumTechs);832		CvInfosSerializationHelper::ReadHashedDataArray(kStream, m_piLocaleTechPriority, iNumTechs);833		CvInfosSerializationHelper::ReadHashedDataArray(kStream, m_peLocaleTechResources, iNumTechs);834		CvInfosSerializationHelper::ReadHashedDataArray(kStream, m_peCivTechUniqueUnits, iNumTechs);835		CvInfosSerializationHelper::ReadHashedDataArray(kStream, m_peCivTechUniqueBuildings, iNumTechs);836		CvInfosSerializationHelper::ReadHashedDataArray(kStream, m_peCivTechUniqueImprovements, iNumTechs);837	}838839	// Now for AI840	m_pTechAI->Read(kStream);841842	CvAssertMsg(m_piLatestFlavorValues != NULL && GC.getNumFlavorTypes() > 0, "Number of flavor values to serialize is expected to greater than 0");843844	int iNumFlavors;845	kStream >> iNumFlavors;846847	ArrayWrapper<int> kLatestFlavorWrapper(iNumFlavors, m_piLatestFlavorValues);848	kStream >> kLatestFlavorWrapper;849}

Calls

Called by