Bazaar developer reference

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

Called by