Bazaar developer reference

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

Called by