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
- CvGlobals::getUnitInfo(UnitTypes)
- CvInfosSerializationHelper::WriteHashed(FDataStream &, const CvBaseInfo *)
- CvUnitXMLEntries::GetNumUnits()
CvWeightedVector::GetWeightFDataStream::operator<<FDataStream::operator<<FStringA::FStringAFStringA::FStringAFixedBuffer::FStringAFixedBuffer