Bazaar developer reference

CvGameTrade::ClearAllCityStateTradeRoutes()

Defined in
CvTradeClasses.cpp, line 1057
Class
CvGameTrade
Hook name
CivHooks::CvGameTrade_ClearAllCityStateTradeRoutes

Hooks

static bool BeforeCvGameTrade_ClearAllCityStateTradeRoutes(CvGameTrade* self);static void AfterCvGameTrade_ClearAllCityStateTradeRoutes(CvGameTrade* self);static void ReplaceCvGameTrade_ClearAllCityStateTradeRoutes(void (*original)(CvGameTrade*), CvGameTrade* self);CivRegisterBefore<CivHooks::CvGameTrade_ClearAllCityStateTradeRoutes>(host, &BeforeCvGameTrade_ClearAllCityStateTradeRoutes);CivRegisterAfter<CivHooks::CvGameTrade_ClearAllCityStateTradeRoutes>(host, &AfterCvGameTrade_ClearAllCityStateTradeRoutes);CivRegisterReplace<CivHooks::CvGameTrade_ClearAllCityStateTradeRoutes>(host, &ReplaceCvGameTrade_ClearAllCityStateTradeRoutes);

Code

1056//  Reset all Civ to City-State trade routes for all players.1057void CvGameTrade::ClearAllCityStateTradeRoutes (void)1058{1059	for (uint ui = 0; ui < m_aTradeConnections.size(); ui++)1060	{1061		if (IsTradeRouteIndexEmpty(ui))1062		{1063			continue;1064		}10651066		bool bMatchesDest = (GET_PLAYER(m_aTradeConnections[ui].m_eDestOwner).isMinorCiv());1067		if (bMatchesDest)1068		{1069			// if the destination was wiped, the origin gets a trade unit back1070			if (GET_PLAYER(m_aTradeConnections[ui].m_eOriginOwner).isAlive())1071			{1072#if defined(MOD_BUGFIX_UNITCLASS_NOT_UNIT)1073				CvPlayer& kPlayer = GET_PLAYER(m_aTradeConnections[ui].m_eOriginOwner);1074				UnitTypes eUnitType = kPlayer.GetTrade()->GetTradeUnit(m_aTradeConnections[ui].m_eDomain, &kPlayer);1075#else1076				UnitTypes eUnitType = GET_PLAYER(m_aTradeConnections[ui].m_eOriginOwner).GetTrade()->GetTradeUnit(m_aTradeConnections[ui].m_eDomain);1077#endif1078				CvAssertMsg(eUnitType != NO_UNIT, "No trade unit found");1079				if (eUnitType != NO_UNIT)1080				{1081					GET_PLAYER(m_aTradeConnections[ui].m_eOriginOwner).initUnit(eUnitType, m_aTradeConnections[ui].m_iOriginX, m_aTradeConnections[ui].m_iOriginY, UNITAI_TRADE_UNIT);1082				}1083			}10841085			EmptyTradeRoute(ui);1086		}		1087	}1088}

Calls

Called by