Hooks
static bool BeforeCvCityCitizens_Write(CvCityCitizens* self, FDataStream& kStream);static void AfterCvCityCitizens_Write(CvCityCitizens* self, FDataStream& kStream);static void ReplaceCvCityCitizens_Write(void (*original)(CvCityCitizens*, FDataStream&), CvCityCitizens* self, FDataStream& kStream);CivRegisterBefore<CivHooks::CvCityCitizens_Write>(host, &BeforeCvCityCitizens_Write);CivRegisterAfter<CivHooks::CvCityCitizens_Write>(host, &AfterCvCityCitizens_Write);CivRegisterReplace<CivHooks::CvCityCitizens_Write>(host, &ReplaceCvCityCitizens_Write);
Code
169/// Serialization write170void CvCityCitizens::Write(FDataStream& kStream)171{172 // Current version number173 uint uiVersion = 1;174 kStream << uiVersion;175 MOD_SERIALIZE_INIT_WRITE(kStream);176177 kStream << m_bAutomated;178 kStream << m_bNoAutoAssignSpecialists;179 kStream << m_iNumUnassignedCitizens;180 kStream << m_iNumCitizensWorkingPlots;181 kStream << m_iNumForcedWorkingPlots;182183 kStream << m_eCityAIFocusTypes;184185 kStream << m_bForceAvoidGrowth;186187 kStream << m_pabWorkingPlot;188 kStream << m_pabForcedWorkingPlot;189190 kStream << m_iNumDefaultSpecialists;191 kStream << m_iNumForcedDefaultSpecialists;192193 CvInfosSerializationHelper::WriteHashedDataArray<SpecialistTypes, int>(kStream, m_aiSpecialistCounts, GC.getNumSpecialistInfos());194 CvInfosSerializationHelper::WriteHashedDataArray<SpecialistTypes, int>(kStream, m_aiSpecialistGreatPersonProgressTimes100, GC.getNumSpecialistInfos());195196 BuildingArrayHelpers::Write(kStream, m_aiNumSpecialistsInBuilding, GC.getNumBuildingInfos());197 BuildingArrayHelpers::Write(kStream, m_aiNumForcedSpecialistsInBuilding, GC.getNumBuildingInfos());198199 CvInfosSerializationHelper::WriteHashedDataArray<SpecialistTypes, int>(kStream, m_piBuildingGreatPeopleRateChanges, GC.getNumSpecialistInfos());200}