Hooks
static bool BeforeCvMilitaryAI_Write(CvMilitaryAI* self, FDataStream& kStream);static void AfterCvMilitaryAI_Write(CvMilitaryAI* self, FDataStream& kStream);static void ReplaceCvMilitaryAI_Write(void (*original)(CvMilitaryAI*, FDataStream&), CvMilitaryAI* self, FDataStream& kStream);CivRegisterBefore<CivHooks::CvMilitaryAI_Write>(host, &BeforeCvMilitaryAI_Write);CivRegisterAfter<CivHooks::CvMilitaryAI_Write>(host, &AfterCvMilitaryAI_Write);CivRegisterReplace<CivHooks::CvMilitaryAI_Write>(host, &ReplaceCvMilitaryAI_Write);
Code
398/// Serialization write399void CvMilitaryAI::Write(FDataStream& kStream)400{401 // Current version number402 uint uiVersion = 1;403 kStream << uiVersion;404 MOD_SERIALIZE_INIT_WRITE(kStream);405406 FAssertMsg(GC.getNumMilitaryAIStrategyInfos() > 0, "Number of AIStrategies to serialize is expected to greater than 0");407 kStream << m_iTotalThreatWeight;408 kStream << (int)m_eArmyTypeBeingBuilt;409 kStream << m_iNumberOfTimesOpsBuildSkippedOver;410 kStream << GC.getNumMilitaryAIStrategyInfos();411 kStream << ArrayWrapper<bool>(m_pAIStrategies->GetNumMilitaryAIStrategies(), m_pabUsingStrategy);412 kStream << ArrayWrapper<int>(m_pAIStrategies->GetNumMilitaryAIStrategies(), m_paiTurnStrategyAdopted);413 kStream << ArrayWrapper<int>(MAX_CIV_PLAYERS, m_paeLastTurnWarState);414 kStream << ArrayWrapper<int>(MAX_CIV_PLAYERS, m_paeLastTurnMilitaryThreat);415 kStream << ArrayWrapper<int>(MAX_CIV_PLAYERS, m_paeLastTurnMilitaryStrength);416 kStream << ArrayWrapper<int>(MAX_CIV_PLAYERS, m_paeLastTurnTargetValue);417}