CvWonderProductionAI::Write(FDataStream &) const
- Defined in
- CvWonderProductionAI.cpp, line 125
- Class
- CvWonderProductionAI
- Hook name
CivHooks::CvWonderProductionAI_Write
Hooks
static bool BeforeCvWonderProductionAI_Write(const CvWonderProductionAI* self, FDataStream& kStream);static void AfterCvWonderProductionAI_Write(const CvWonderProductionAI* self, FDataStream& kStream);static void ReplaceCvWonderProductionAI_Write(void (*original)(const CvWonderProductionAI*, FDataStream&), const CvWonderProductionAI* self, FDataStream& kStream);CivRegisterBefore<CivHooks::CvWonderProductionAI_Write>(host, &BeforeCvWonderProductionAI_Write);CivRegisterAfter<CivHooks::CvWonderProductionAI_Write>(host, &AfterCvWonderProductionAI_Write);CivRegisterReplace<CivHooks::CvWonderProductionAI_Write>(host, &ReplaceCvWonderProductionAI_Write);
Code
124/// Serialization write125void CvWonderProductionAI::Write(FDataStream& kStream) const126{127 // Current version number128 uint uiVersion = 1;129 kStream << uiVersion;130 MOD_SERIALIZE_INIT_WRITE(kStream);131132 CvAssertMsg(m_piLatestFlavorValues != NULL && GC.getNumFlavorTypes() > 0, "Number of flavor values to serialize is expected to greater than 0");133 kStream << GC.getNumFlavorTypes();134 kStream << ArrayWrapper<int>(GC.getNumFlavorTypes(), m_piLatestFlavorValues);135136 if(m_pBuildings)137 {138 int iNumBuildings = m_pBuildings->GetNumBuildings();139 kStream << iNumBuildings;140141 // Loop through writing each entry142 for(int iI = 0; iI < iNumBuildings; iI++)143 {144 const BuildingTypes eBuilding = static_cast<BuildingTypes>(iI);145 CvBuildingEntry* pkBuildingInfo = GC.getBuildingInfo(eBuilding);146 if(pkBuildingInfo)147 {148 CvInfosSerializationHelper::WriteHashed(kStream, pkBuildingInfo);149 kStream << m_WonderAIWeights.GetWeight(iI);150 }151 else152 {153 kStream << (int)0;154 }155 }156 }157 else158 {159 CvAssertMsg(m_pBuildings != NULL, "Wonder Production AI init failure: building entries are NULL");160 }161}
Calls
ArrayWrapper::ArrayWrapper- CvBuildingXMLEntries::GetNumBuildings()
- CvGlobals::getBuildingInfo(BuildingTypes)
- CvGlobals::getNumFlavorTypes()
- CvInfosSerializationHelper::WriteHashed(FDataStream &, const CvBaseInfo *)
CvWeightedVector::GetWeightFDataStream::operator<<FDataStream::operator<<operator<<