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
BaseVector::operator[]BaseVector::size- CvGameTrade::EmptyTradeRoute(int)
- CvGameTrade::IsTradeRouteIndexEmpty(int)
- CvPlayer::getTeam() const
- CvPlayerAI::getPlayer(PlayerTypes)