Bazaar developer reference

CvGameTrade::GetNumTimesOriginCity(CvCity *, bool)

Defined in
CvTradeClasses.cpp, line 794
Class
CvGameTrade
Hook name
CivHooks::CvGameTrade_GetNumTimesOriginCity

Hooks

static bool BeforeCvGameTrade_GetNumTimesOriginCity(CvGameTrade* self, CvCity* pCity, bool bOnlyInternational, int& result);static void AfterCvGameTrade_GetNumTimesOriginCity(CvGameTrade* self, CvCity* pCity, bool bOnlyInternational, int& result);static int ReplaceCvGameTrade_GetNumTimesOriginCity(int (*original)(CvGameTrade*, CvCity*, bool), CvGameTrade* self, CvCity* pCity, bool bOnlyInternational);CivRegisterBefore<CivHooks::CvGameTrade_GetNumTimesOriginCity>(host, &BeforeCvGameTrade_GetNumTimesOriginCity);CivRegisterAfter<CivHooks::CvGameTrade_GetNumTimesOriginCity>(host, &AfterCvGameTrade_GetNumTimesOriginCity);CivRegisterReplace<CivHooks::CvGameTrade_GetNumTimesOriginCity>(host, &ReplaceCvGameTrade_GetNumTimesOriginCity);

Code

794int CvGameTrade::GetNumTimesOriginCity (CvCity* pCity, bool bOnlyInternational)795{796	int iCount = 0;797	int iCityX = pCity->getX();798	int iCityY = pCity->getY();799800	for (uint ui = 0; ui < m_aTradeConnections.size(); ui++)801	{802		TradeConnection* pConnection = &(m_aTradeConnections[ui]);803804		if (IsTradeRouteIndexEmpty(ui))805		{806			continue;807		}808809		if (pConnection->m_iOriginX == iCityX && pConnection->m_iOriginY == iCityY)810		{811			if (bOnlyInternational)812			{813				if (pConnection->m_eConnectionType == TRADE_CONNECTION_INTERNATIONAL)814				{815					iCount++;816				}817			}818			else819			{820				iCount++;821			}822		}823	}824825	return iCount;	826}

Calls

Called by