Bazaar developer reference

CvUnitProductionAI::Write(FDataStream &) const

Defined in
CvUnitProductionAI.cpp, line 103
Class
CvUnitProductionAI
Hook name
CivHooks::CvUnitProductionAI_Write

Hooks

static bool BeforeCvUnitProductionAI_Write(const CvUnitProductionAI* self, FDataStream& kStream);static void AfterCvUnitProductionAI_Write(const CvUnitProductionAI* self, FDataStream& kStream);static void ReplaceCvUnitProductionAI_Write(void (*original)(const CvUnitProductionAI*, FDataStream&), const CvUnitProductionAI* self, FDataStream& kStream);CivRegisterBefore<CivHooks::CvUnitProductionAI_Write>(host, &BeforeCvUnitProductionAI_Write);CivRegisterAfter<CivHooks::CvUnitProductionAI_Write>(host, &AfterCvUnitProductionAI_Write);CivRegisterReplace<CivHooks::CvUnitProductionAI_Write>(host, &ReplaceCvUnitProductionAI_Write);

Code

102/// Serialization write103void CvUnitProductionAI::Write(FDataStream& kStream) const104{105	FStringFixedBuffer(sTemp, 64);106107	// Current version number108	uint uiVersion = 1;109	kStream << uiVersion;110	MOD_SERIALIZE_INIT_WRITE(kStream);111112	if(m_pUnits)113	{114		int iNumUnits = m_pUnits->GetNumUnits();115		kStream << iNumUnits;116117		// Loop through writing each entry118		for(int iI = 0; iI < iNumUnits; iI++)119		{120			const UnitTypes eUnit = static_cast<UnitTypes>(iI);121			CvUnitEntry* pkUnitInfo = GC.getUnitInfo(eUnit);122			if(pkUnitInfo)123			{124				CvInfosSerializationHelper::WriteHashed(kStream, pkUnitInfo);125				kStream << m_UnitAIWeights.GetWeight(iI);126			}127			else128			{129				kStream << (int)0;130			}131		}132	}133	else134	{135		CvAssertMsg(m_pUnits != NULL, "Unit Production AI init failure: unit entries are NULL");136	}137}

Calls

Called by