Hooks
static bool BeforeCvPlayerPolicies_Write(const CvPlayerPolicies* self, FDataStream& kStream);static void AfterCvPlayerPolicies_Write(const CvPlayerPolicies* self, FDataStream& kStream);static void ReplaceCvPlayerPolicies_Write(void (*original)(const CvPlayerPolicies*, FDataStream&), const CvPlayerPolicies* self, FDataStream& kStream);CivRegisterBefore<CivHooks::CvPlayerPolicies_Write>(host, &BeforeCvPlayerPolicies_Write);CivRegisterAfter<CivHooks::CvPlayerPolicies_Write>(host, &AfterCvPlayerPolicies_Write);CivRegisterReplace<CivHooks::CvPlayerPolicies_Write>(host, &ReplaceCvPlayerPolicies_Write);
Code
2748/// Serialization write2749void CvPlayerPolicies::Write(FDataStream& kStream) const2750{2751 // Current version number2752 uint uiVersion = 2;2753 kStream << uiVersion;2754 MOD_SERIALIZE_INIT_WRITE(kStream);27552756 CvAssertMsg(m_pPolicies != NULL && GC.getNumPolicyInfos() > 0, "Number of policies to serialize is expected to greater than 0");27572758 uint uiPolicyCount = 0;2759 uint uiPolicyBranchCount = 0;2760 if(m_pPolicies)2761 {2762 uiPolicyCount = m_pPolicies->GetNumPolicies();2763 uiPolicyBranchCount = m_pPolicies->GetNumPolicyBranches();2764 }27652766#if defined(MOD_API_EXTENSIONS)2767 CvInfosSerializationHelper::WriteHashedDataArray<PolicyTypes>(kStream, m_pabFreePolicy, uiPolicyCount);2768#endif2769 CvInfosSerializationHelper::WriteHashedDataArray<PolicyTypes>(kStream, m_pabHasPolicy, uiPolicyCount);2770 CvInfosSerializationHelper::WriteHashedDataArray<PolicyTypes>(kStream, m_pabHasOneShotPolicyFired, uiPolicyCount);2771 CvInfosSerializationHelper::WriteHashedDataArray<PolicyTypes>(kStream, m_pabHaveOneShotFreeUnitsFired, uiPolicyCount);27722773 CvInfosSerializationHelper::WriteHashedDataArray<PolicyBranchTypes>(kStream, m_pabPolicyBranchUnlocked, uiPolicyBranchCount);2774 CvInfosSerializationHelper::WriteHashedDataArray<PolicyBranchTypes>(kStream, m_pabPolicyBranchBlocked, uiPolicyBranchCount);2775 CvInfosSerializationHelper::WriteHashedDataArray<PolicyBranchTypes>(kStream, m_pabPolicyBranchFinished, uiPolicyBranchCount);2776 CvInfosSerializationHelper::WriteHashedTypeArray<PolicyBranchTypes>(kStream, m_paePolicyBranchesChosen, uiPolicyBranchCount);27772778 kStream << m_iNumExtraBranches;27792780 CvInfosSerializationHelper::WriteHashed(kStream, m_eBranchPicked1);2781 CvInfosSerializationHelper::WriteHashed(kStream, m_eBranchPicked2);2782 CvInfosSerializationHelper::WriteHashed(kStream, m_eBranchPicked3);27832784 // Now for AI2785 m_pPolicyAI->Write(kStream);27862787 CvAssertMsg(m_piLatestFlavorValues != NULL && GC.getNumFlavorTypes() > 0, "Number of flavor values to serialize is expected to greater than 0");2788 kStream << GC.getNumFlavorTypes();2789 kStream << ArrayWrapper<int>(GC.getNumFlavorTypes(), m_piLatestFlavorValues);2790}