CvPlayerTrade::GetTradeConnection(CvCity *, CvCity *)
- Defined in
- CvTradeClasses.cpp, line 2998
- Class
- CvPlayerTrade
- Hook name
CivHooks::CvPlayerTrade_GetTradeConnection
Hooks
static bool BeforeCvPlayerTrade_GetTradeConnection(CvPlayerTrade* self, CvCity* pOriginCity, CvCity* pDestCity, TradeConnection*& result);static void AfterCvPlayerTrade_GetTradeConnection(CvPlayerTrade* self, CvCity* pOriginCity, CvCity* pDestCity, TradeConnection*& result);static TradeConnection* ReplaceCvPlayerTrade_GetTradeConnection(TradeConnection* (*original)(CvPlayerTrade*, CvCity*, CvCity*), CvPlayerTrade* self, CvCity* pOriginCity, CvCity* pDestCity);CivRegisterBefore<CivHooks::CvPlayerTrade_GetTradeConnection>(host, &BeforeCvPlayerTrade_GetTradeConnection);CivRegisterAfter<CivHooks::CvPlayerTrade_GetTradeConnection>(host, &AfterCvPlayerTrade_GetTradeConnection);CivRegisterReplace<CivHooks::CvPlayerTrade_GetTradeConnection>(host, &ReplaceCvPlayerTrade_GetTradeConnection);
Code
2998TradeConnection* CvPlayerTrade::GetTradeConnection(CvCity* pOriginCity, CvCity* pDestCity)2999{3000 int iOriginX = pOriginCity->getX();3001 int iOriginY = pOriginCity->getY();3002 int iDestX = pDestCity->getX();3003 int iDestY = pDestCity->getY();30043005 CvGameTrade* pTrade = GC.getGame().GetGameTrade();3006 for (uint ui = 0; ui < pTrade->m_aTradeConnections.size(); ui++)3007 {3008 TradeConnection* pConnection = &(pTrade->m_aTradeConnections[ui]);3009 if (pConnection->m_eOriginOwner == m_pPlayer->GetID())3010 {3011 if (pConnection->m_iOriginX == iOriginX && pConnection->m_iOriginY == iOriginY && pConnection->m_iDestX == iDestX && pConnection->m_iDestY == iDestY)3012 {3013 return pConnection;3014 }3015 }3016 }30173018 return NULL;3019}
Calls
BaseVector::operator[]BaseVector::size- CvCity::getX() const
- CvCity::getY() const
- CvGame::GetGameTrade()
- CvGlobals::getGame()
- CvPlayer::GetID() const