CvPlayerTrade::GetNumDifferentTradingPartners()
- Defined in
- CvTradeClasses.cpp, line 3785
- Class
- CvPlayerTrade
- Hook name
CivHooks::CvPlayerTrade_GetNumDifferentTradingPartners
Hooks
static bool BeforeCvPlayerTrade_GetNumDifferentTradingPartners(CvPlayerTrade* self, int& result);static void AfterCvPlayerTrade_GetNumDifferentTradingPartners(CvPlayerTrade* self, int& result);static int ReplaceCvPlayerTrade_GetNumDifferentTradingPartners(int (*original)(CvPlayerTrade*), CvPlayerTrade* self);CivRegisterBefore<CivHooks::CvPlayerTrade_GetNumDifferentTradingPartners>(host, &BeforeCvPlayerTrade_GetNumDifferentTradingPartners);CivRegisterAfter<CivHooks::CvPlayerTrade_GetNumDifferentTradingPartners>(host, &AfterCvPlayerTrade_GetNumDifferentTradingPartners);CivRegisterReplace<CivHooks::CvPlayerTrade_GetNumDifferentTradingPartners>(host, &ReplaceCvPlayerTrade_GetNumDifferentTradingPartners);
Code
3785int CvPlayerTrade::GetNumDifferentTradingPartners (void)3786{3787 CvGameTrade* pTrade = GC.getGame().GetGameTrade();37883789 std::vector<bool> abConnections;3790 abConnections.resize(MAX_CIV_PLAYERS, false);37913792 int iResult = 0;37933794 for (uint ui = 0; ui < pTrade->m_aTradeConnections.size(); ui++)3795 {3796 if (pTrade->IsTradeRouteIndexEmpty(ui))3797 {3798 continue;3799 }38003801 TradeConnection* pTradeConnection = &(pTrade->m_aTradeConnections[ui]);3802 if (pTradeConnection->m_eOriginOwner == pTradeConnection->m_eDestOwner)3803 {3804 continue;3805 }38063807 // this involves us3808 if (pTradeConnection->m_eOriginOwner == m_pPlayer->GetID())3809 {3810 if (!abConnections[pTradeConnection->m_eDestOwner])3811 {3812 abConnections[pTradeConnection->m_eDestOwner] = true;3813 iResult++;3814 }3815 }3816 else if (pTradeConnection->m_eDestOwner == m_pPlayer->GetID())3817 {3818 if (!abConnections[pTradeConnection->m_eOriginOwner])3819 {3820 abConnections[pTradeConnection->m_eOriginOwner] = true;3821 iResult++;3822 }3823 }3824 }38253826 return iResult;3827}
Calls
BaseVector::operator[]BaseVector::size- CvGame::GetGameTrade()
- CvGameTrade::IsTradeRouteIndexEmpty(int)
- CvGlobals::getGame()
- CvPlayer::GetID() const
std::_Vb_reference::operator boolstd::_Vb_reference::operator=std::vector::operator[]std::vector::resizestd::vector::vector