Bazaar developer reference

CvUnit::setTransportUnit(CvUnit *)

Defined in
CvUnit.cpp, line 19960
Class
CvUnit
Hook name
CivHooks::CvUnit_setTransportUnit

Hooks

static bool BeforeCvUnit_setTransportUnit(CvUnit* self, CvUnit* pTransportUnit);static void AfterCvUnit_setTransportUnit(CvUnit* self, CvUnit* pTransportUnit);static void ReplaceCvUnit_setTransportUnit(void (*original)(CvUnit*, CvUnit*), CvUnit* self, CvUnit* pTransportUnit);CivRegisterBefore<CivHooks::CvUnit_setTransportUnit>(host, &BeforeCvUnit_setTransportUnit);CivRegisterAfter<CivHooks::CvUnit_setTransportUnit>(host, &AfterCvUnit_setTransportUnit);CivRegisterReplace<CivHooks::CvUnit_setTransportUnit>(host, &ReplaceCvUnit_setTransportUnit);

Code

19960void CvUnit::setTransportUnit(CvUnit* pTransportUnit)19961{19962	VALIDATE_OBJECT19963	CvUnit* pOldTransportUnit;1996419965	pOldTransportUnit = getTransportUnit();1996619967	if(pOldTransportUnit != pTransportUnit)19968	{19969		if(pOldTransportUnit != NULL)19970		{19971			pOldTransportUnit->changeCargo(-1);19972		}1997319974		if(pTransportUnit != NULL)19975		{19976			CvAssertMsg(pTransportUnit->cargoSpaceAvailable(getSpecialUnitType(), getDomainType()) > 0, "Cargo space is expected to be available");1997719978			m_transportUnit = pTransportUnit->GetIDInfo();1997919980			if(getDomainType() != DOMAIN_AIR)19981			{19982				SetActivityType(ACTIVITY_SLEEP);19983			}1998419985			if(GC.getGame().isFinalInitialized())19986			{19987				finishMoves();19988			}1998919990			pTransportUnit->changeCargo(1);19991			pTransportUnit->SetActivityType(ACTIVITY_AWAKE);19992		}19993		else19994		{19995			m_transportUnit.reset();1999619997			SetActivityType(ACTIVITY_AWAKE);19998		}19999	}20000}

Calls

Called by