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}