Hooks
static bool BeforeCvCityStrategyAI_Write(CvCityStrategyAI* self, FDataStream& kStream);static void AfterCvCityStrategyAI_Write(CvCityStrategyAI* self, FDataStream& kStream);static void ReplaceCvCityStrategyAI_Write(void (*original)(CvCityStrategyAI*, FDataStream&), CvCityStrategyAI* self, FDataStream& kStream);CivRegisterBefore<CivHooks::CvCityStrategyAI_Write>(host, &BeforeCvCityStrategyAI_Write);CivRegisterAfter<CivHooks::CvCityStrategyAI_Write>(host, &AfterCvCityStrategyAI_Write);CivRegisterReplace<CivHooks::CvCityStrategyAI_Write>(host, &ReplaceCvCityStrategyAI_Write);
Code
352/// Serialization write353void CvCityStrategyAI::Write(FDataStream& kStream)354{355 // Current version number356 uint uiVersion = 1;357 kStream << uiVersion;358 MOD_SERIALIZE_INIT_WRITE(kStream);359360 CvAssertMsg(GC.getNumFlavorTypes() > 0, "Number of flavor values to serialize is expected to greater than 0");361 int iNumFlavors = GC.getNumFlavorTypes();362 kStream << iNumFlavors;363 kStream << ArrayWrapper<int>(iNumFlavors, m_piLatestFlavorValues);364365 int iNumStrategies = GC.getNumAICityStrategyInfos();366367 CvInfosSerializationHelper::WriteHashedDataArray<AICityStrategyTypes, bool>(kStream, m_pabUsingCityStrategy, iNumStrategies);368 CvInfosSerializationHelper::WriteHashedDataArray<AICityStrategyTypes, int>(kStream, m_paiTurnCityStrategyAdopted, iNumStrategies);369370 kStream << m_eSpecialization;371 kStream << m_eDefaultSpecialization;372373 m_pBuildingProductionAI->Write(kStream);374 m_pUnitProductionAI->Write(kStream);375 m_pProjectProductionAI->Write(kStream);376 m_pProcessProductionAI->Write(kStream);377}