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
BaseVector::operator[]BaseVector::size- CvGameTrade::EmptyTradeRoute(int)
- CvGameTrade::IsTradeRouteIndexEmpty(int)
- CvPlayer::GetTrade() const
- CvPlayer::initUnit(UnitTypes, int, int, UnitAITypes, DirectionTypes, bool, bool, int, int)
- CvPlayer::isAlive() const
- CvPlayer::isMinorCiv() const
- CvPlayerAI::getPlayer(PlayerTypes)
- CvPlayerTrade::GetTradeUnit(DomainTypes, CvPlayer *)