CvGameTrade::EmptyTradeRoute(int)
- Defined in
- CvTradeClasses.cpp, line 891
- Class
- CvGameTrade
- Hook name
CivHooks::CvGameTrade_EmptyTradeRoute
Hooks
static bool BeforeCvGameTrade_EmptyTradeRoute(CvGameTrade* self, int iIndex, bool& result);static void AfterCvGameTrade_EmptyTradeRoute(CvGameTrade* self, int iIndex, bool& result);static bool ReplaceCvGameTrade_EmptyTradeRoute(bool (*original)(CvGameTrade*, int), CvGameTrade* self, int iIndex);CivRegisterBefore<CivHooks::CvGameTrade_EmptyTradeRoute>(host, &BeforeCvGameTrade_EmptyTradeRoute);CivRegisterAfter<CivHooks::CvGameTrade_EmptyTradeRoute>(host, &AfterCvGameTrade_EmptyTradeRoute);CivRegisterReplace<CivHooks::CvGameTrade_EmptyTradeRoute>(host, &ReplaceCvGameTrade_EmptyTradeRoute);
Code
891bool CvGameTrade::EmptyTradeRoute(int iIndex)892{893 CvAssertMsg(iIndex >= 0 && iIndex < (int)m_aTradeConnections.size(), "iIndex out of bounds");894 if (iIndex < 0 || iIndex >= (int)m_aTradeConnections.size())895 {896 return false;897 }898899 TradeConnection& kTradeConnection = m_aTradeConnections[iIndex];900 PlayerTypes eOriginPlayer = kTradeConnection.m_eOriginOwner;901 PlayerTypes eDestPlayer = kTradeConnection.m_eDestOwner;902903 // Remove any visualization904 if (kTradeConnection.m_unitID != -1)905 {906 CvUnit* pkUnit = GET_PLAYER(kTradeConnection.m_eOriginOwner).getUnit(kTradeConnection.m_unitID);907 if (pkUnit)908 {909 pkUnit->kill(false);910 }911 }912913 kTradeConnection.m_iID = -1;914 kTradeConnection.m_iDestX = -1;915 kTradeConnection.m_iDestY = -1;916 kTradeConnection.m_eDestOwner = NO_PLAYER;917 kTradeConnection.m_iOriginX = -1;918 kTradeConnection.m_iOriginY = -1;919 kTradeConnection.m_eOriginOwner = NO_PLAYER;920 kTradeConnection.m_eDomain = NO_DOMAIN;921 kTradeConnection.m_eConnectionType = NUM_TRADE_CONNECTION_TYPES;922 kTradeConnection.m_iTradeUnitLocationIndex = -1;923 kTradeConnection.m_bTradeUnitMovingForward = false;924 kTradeConnection.m_iCircuitsCompleted = 0;925 kTradeConnection.m_iCircuitsToComplete = 0;926 kTradeConnection.m_iTurnRouteComplete = 0;927#if defined(MOD_API_TRADEROUTES)928 kTradeConnection.m_bTradeUnitRecalled = false;929#endif930 kTradeConnection.m_aPlotList.clear();931 kTradeConnection.m_unitID = -1;932933 for (uint ui = 0; ui < NUM_YIELD_TYPES; ui++)934 {935 kTradeConnection.m_aiOriginYields[ui] = 0;936 kTradeConnection.m_aiDestYields[ui] = 0;937 }938939 GET_PLAYER(eOriginPlayer).GetTrade()->UpdateTradeConnectionValues();940 GET_PLAYER(eDestPlayer).GetTrade()->UpdateTradeConnectionValues();941942 gDLL->TradeVisuals_DestroyRoute(iIndex, eOriginPlayer);943 return true;944}
Calls
BaseVector::clearBaseVector::operator[]BaseVector::size- CvGlobals::getDLLIFace()
- CvPlayer::GetTrade() const
- CvPlayer::getUnit(int)
- CvPlayerAI::getPlayer(PlayerTypes)
- CvPlayerTrade::UpdateTradeConnectionValues()
- CvUnit::kill(bool, PlayerTypes)
ICvEngineUtility3::TradeVisuals_DestroyRoute