Hooks
static bool BeforeCvPlayerPolicies_Read(CvPlayerPolicies* self, FDataStream& kStream);static void AfterCvPlayerPolicies_Read(CvPlayerPolicies* self, FDataStream& kStream);static void ReplaceCvPlayerPolicies_Read(void (*original)(CvPlayerPolicies*, FDataStream&), CvPlayerPolicies* self, FDataStream& kStream);CivRegisterBefore<CivHooks::CvPlayerPolicies_Read>(host, &BeforeCvPlayerPolicies_Read);CivRegisterAfter<CivHooks::CvPlayerPolicies_Read>(host, &AfterCvPlayerPolicies_Read);CivRegisterReplace<CivHooks::CvPlayerPolicies_Read>(host, &ReplaceCvPlayerPolicies_Read);
Code
2694/// Serialization read2695void CvPlayerPolicies::Read(FDataStream& kStream)2696{2697 // Version number to maintain backwards compatibility2698 uint uiVersion;2699 kStream >> uiVersion;2700 MOD_SERIALIZE_INIT_READ(kStream);27012702 CvAssertMsg(m_pPolicies != NULL && m_pPolicies->GetNumPolicies() > 0, "Number of policies to serialize is expected to greater than 0");27032704 uint uiPolicyCount = 0;2705 uint uiPolicyBranchCount = 0;2706 if(m_pPolicies)2707 {2708 uiPolicyCount = m_pPolicies->GetNumPolicies();2709 uiPolicyBranchCount = m_pPolicies->GetNumPolicyBranches();2710 }27112712#if defined(MOD_API_EXTENSIONS)2713 CvInfosSerializationHelper::ReadHashedDataArray(kStream, m_pabFreePolicy, uiPolicyCount);2714#endif2715 CvInfosSerializationHelper::ReadHashedDataArray(kStream, m_pabHasPolicy, uiPolicyCount);2716 CvInfosSerializationHelper::ReadHashedDataArray(kStream, m_pabHasOneShotPolicyFired, uiPolicyCount);2717 CvInfosSerializationHelper::ReadHashedDataArray(kStream, m_pabHaveOneShotFreeUnitsFired, uiPolicyCount);27182719 CvInfosSerializationHelper::ReadHashedDataArray(kStream, m_pabPolicyBranchUnlocked, uiPolicyBranchCount);2720 CvInfosSerializationHelper::ReadHashedDataArray(kStream, m_pabPolicyBranchBlocked, uiPolicyBranchCount);2721 CvInfosSerializationHelper::ReadHashedDataArray(kStream, m_pabPolicyBranchFinished, uiPolicyBranchCount);2722 CvInfosSerializationHelper::ReadHashedTypeArray(kStream, m_paePolicyBranchesChosen, uiPolicyBranchCount);27232724 kStream >> m_iNumExtraBranches;27252726 m_eBranchPicked1 = (PolicyBranchTypes)CvInfosSerializationHelper::ReadHashed(kStream);2727 m_eBranchPicked2 = (PolicyBranchTypes)CvInfosSerializationHelper::ReadHashed(kStream);2728 m_eBranchPicked3 = (PolicyBranchTypes)CvInfosSerializationHelper::ReadHashed(kStream);27292730 if (uiVersion < 2)2731 {2732 int temp;2733 kStream >> temp; // m_iMaxEffectiveCities moved to player class2734 }27352736 // Now for AI2737 m_pPolicyAI->Read(kStream);27382739 CvAssertMsg(m_piLatestFlavorValues != NULL && GC.getNumFlavorTypes() > 0, "Number of flavor values to serialize is expected to greater than 0");27402741 int iNumFlavors;2742 kStream >> iNumFlavors;27432744 ArrayWrapper<int> wrapm_piLatestFlavorValues(iNumFlavors, m_piLatestFlavorValues);2745 kStream >> wrapm_piLatestFlavorValues;2746}