CvGameDeals::GetHistoricDeal(PlayerTypes, uint)
- Defined in
- CvDealClasses.cpp, line 4017
- Class
- CvGameDeals
- Hook name
CivHooks::CvGameDeals_GetHistoricDeal
Hooks
static bool BeforeCvGameDeals_GetHistoricDeal(CvGameDeals* self, PlayerTypes ePlayer, uint index, CvDeal*& result);static void AfterCvGameDeals_GetHistoricDeal(CvGameDeals* self, PlayerTypes ePlayer, uint index, CvDeal*& result);static CvDeal* ReplaceCvGameDeals_GetHistoricDeal(CvDeal* (*original)(CvGameDeals*, PlayerTypes, uint), CvGameDeals* self, PlayerTypes ePlayer, uint index);CivRegisterBefore<CivHooks::CvGameDeals_GetHistoricDeal>(host, &BeforeCvGameDeals_GetHistoricDeal);CivRegisterAfter<CivHooks::CvGameDeals_GetHistoricDeal>(host, &AfterCvGameDeals_GetHistoricDeal);CivRegisterReplace<CivHooks::CvGameDeals_GetHistoricDeal>(host, &ReplaceCvGameDeals_GetHistoricDeal);
Code
4017CvDeal* CvGameDeals::GetHistoricDeal(PlayerTypes ePlayer, uint index)4018{4019#if defined(MOD_AI_MP_DIPLOMACY)4020 if (MOD_AI_MP_DIPLOMACY) {4021 //iterate backwards, usually the latest deals are most interesting4022 uint iCount = 0;4023 for (int i = m_HistoricalDeals.size() - 1; i >= 0; --i)4024 {4025 CvDeal& kDeal = m_HistoricalDeals[i];4026 if((kDeal.m_eToPlayer == ePlayer || kDeal.m_eFromPlayer == ePlayer) && (iCount++ == index))4027 {4028 return &kDeal;4029 }4030 }4031 } else {4032#endif4033 DealList::iterator iter;4034 DealList::iterator end = m_HistoricalDeals.end();40354036 uint iCount = 0;4037 for(iter = m_HistoricalDeals.begin(); iter != end; ++iter)4038 {4039 if((iter->m_eToPlayer == ePlayer ||4040 iter->m_eFromPlayer == ePlayer) &&4041 (iCount++ == index))4042 {4043 return &(*iter);4044 }4045 }4046#if defined(MOD_AI_MP_DIPLOMACY)4047 }4048#endif40494050 return NULL;4051}
Calls
BaseVector::beginBaseVector::endBaseVector::operator[]BaseVector::size- CustomMods::isAI_MP_DIPLOMACY()