Bazaar developer reference

CvGameTrade::CancelTradeBetweenTeams(TeamTypes, TeamTypes)

Defined in
CvTradeClasses.cpp, line 1092
Class
CvGameTrade
Hook name
CivHooks::CvGameTrade_CancelTradeBetweenTeams

Hooks

static bool BeforeCvGameTrade_CancelTradeBetweenTeams(CvGameTrade* self, TeamTypes eTeam1, TeamTypes eTeam2);static void AfterCvGameTrade_CancelTradeBetweenTeams(CvGameTrade* self, TeamTypes eTeam1, TeamTypes eTeam2);static void ReplaceCvGameTrade_CancelTradeBetweenTeams(void (*original)(CvGameTrade*, TeamTypes, TeamTypes), CvGameTrade* self, TeamTypes eTeam1, TeamTypes eTeam2);CivRegisterBefore<CivHooks::CvGameTrade_CancelTradeBetweenTeams>(host, &BeforeCvGameTrade_CancelTradeBetweenTeams);CivRegisterAfter<CivHooks::CvGameTrade_CancelTradeBetweenTeams>(host, &AfterCvGameTrade_CancelTradeBetweenTeams);CivRegisterReplace<CivHooks::CvGameTrade_CancelTradeBetweenTeams>(host, &ReplaceCvGameTrade_CancelTradeBetweenTeams);

Code

1091/// Called when war is declared between teams1092void CvGameTrade::CancelTradeBetweenTeams (TeamTypes eTeam1, TeamTypes eTeam2)1093{1094	// there shouldn't be trade routes between the same team1095	if (eTeam1 == eTeam2)1096	{1097		return;1098	}10991100	for (uint ui = 0; ui < m_aTradeConnections.size(); ui++)1101	{1102		if (IsTradeRouteIndexEmpty(ui))1103		{1104			continue;1105		}11061107		TeamTypes eOriginTeam = GET_PLAYER(m_aTradeConnections[ui].m_eOriginOwner).getTeam();1108		TeamTypes eDestTeam = GET_PLAYER(m_aTradeConnections[ui].m_eDestOwner).getTeam();1109		if ((eOriginTeam == eTeam1 && eDestTeam == eTeam2) || (eOriginTeam == eTeam2 && eDestTeam == eTeam1)) 1110		{1111			EmptyTradeRoute(ui);1112		}1113	}1114}

Calls

Called by