CvPlayerTrade::MoveUnits()
- Defined in
- CvTradeClasses.cpp, line 1925
- Class
- CvPlayerTrade
- Hook name
CivHooks::CvPlayerTrade_MoveUnits
Hooks
static bool BeforeCvPlayerTrade_MoveUnits(CvPlayerTrade* self);static void AfterCvPlayerTrade_MoveUnits(CvPlayerTrade* self);static void ReplaceCvPlayerTrade_MoveUnits(void (*original)(CvPlayerTrade*), CvPlayerTrade* self);CivRegisterBefore<CivHooks::CvPlayerTrade_MoveUnits>(host, &BeforeCvPlayerTrade_MoveUnits);CivRegisterAfter<CivHooks::CvPlayerTrade_MoveUnits>(host, &AfterCvPlayerTrade_MoveUnits);CivRegisterReplace<CivHooks::CvPlayerTrade_MoveUnits>(host, &ReplaceCvPlayerTrade_MoveUnits);
Code
1924/// MoveUnits1925void CvPlayerTrade::MoveUnits (void)1926{1927 CvGameTrade* pTrade = GC.getGame().GetGameTrade();1928 for (uint ui = 0; ui < pTrade->m_aTradeConnections.size(); ui++)1929 {1930 TradeConnection* pTradeConnection = &(pTrade->m_aTradeConnections[ui]);1931 if (pTradeConnection->m_eOriginOwner == m_pPlayer->GetID())1932 {1933 pTrade->MoveUnit(ui);19341935 // check to see if the trade route is still active but the circuit is completed1936 if (!pTrade->IsTradeRouteIndexEmpty(ui) && pTradeConnection->m_iCircuitsCompleted >= pTradeConnection->m_iCircuitsToComplete)1937 {1938 m_aRecentlyExpiredConnections.push_back(*pTradeConnection);19391940 // get data before we wipe the trade route1941 int iOriginX = pTradeConnection->m_iOriginX;1942 int iOriginY = pTradeConnection->m_iOriginY;1943 DomainTypes eDomain = pTradeConnection->m_eDomain;19441945 // wipe trade route1946 pTrade->EmptyTradeRoute(ui);1947 1948 // create new unit1949#if defined(MOD_BUGFIX_UNITCLASS_NOT_UNIT)1950 UnitTypes eUnitType = GetTradeUnit(eDomain, m_pPlayer);1951#else1952 UnitTypes eUnitType = GetTradeUnit(eDomain);1953#endif1954 CvUnit* pRebornUnit = m_pPlayer->initUnit(eUnitType, iOriginX, iOriginY, UNITAI_TRADE_UNIT);19551956 DEBUG_VARIABLE(pRebornUnit);1957 CvAssertMsg(pRebornUnit, "pRebornUnit is null. This is bad!!");1958 }1959 }1960 }1961}
Calls
BaseVector::operator[]BaseVector::size- CvGame::GetGameTrade()
- CvGameTrade::EmptyTradeRoute(int)
- CvGameTrade::IsTradeRouteIndexEmpty(int)
- CvGameTrade::MoveUnit(int)
- CvGlobals::getGame()
- CvPlayer::GetID() const
- CvPlayer::initUnit(UnitTypes, int, int, UnitAITypes, DirectionTypes, bool, bool, int, int)
- CvPlayerTrade::GetTradeUnit(DomainTypes, CvPlayer *)
FStaticVector::push_back