CvUnit::unloadAll()
- Defined in
- CvUnit.cpp, line 4544
- Class
- CvUnit
- Hook name
CivHooks::CvUnit_unloadAll
Hooks
static bool BeforeCvUnit_unloadAll(CvUnit* self);static void AfterCvUnit_unloadAll(CvUnit* self);static void ReplaceCvUnit_unloadAll(void (*original)(CvUnit*), CvUnit* self);CivRegisterBefore<CivHooks::CvUnit_unloadAll>(host, &BeforeCvUnit_unloadAll);CivRegisterAfter<CivHooks::CvUnit_unloadAll>(host, &AfterCvUnit_unloadAll);CivRegisterReplace<CivHooks::CvUnit_unloadAll>(host, &ReplaceCvUnit_unloadAll);
Code
4544void CvUnit::unloadAll()4545{4546 VALIDATE_OBJECT4547 IDInfo* pUnitNode;4548 CvUnit* pLoopUnit;4549 CvPlot* pPlot;45504551 if(!canUnloadAll())4552 {4553 return;4554 }45554556 pPlot = plot();45574558 pUnitNode = pPlot->headUnitNode();45594560 while(pUnitNode != NULL)4561 {4562 pLoopUnit = ::getUnit(*pUnitNode);4563 pUnitNode = pPlot->nextUnitNode(pUnitNode);45644565 if(pLoopUnit && pLoopUnit->getTransportUnit() == this)4566 {4567 if(pLoopUnit->canUnload())4568 {4569 pLoopUnit->setTransportUnit(NULL);4570 }4571 else4572 {4573 CvAssert(isHuman());4574 pLoopUnit->SetActivityType(ACTIVITY_AWAKE);4575 }4576 }4577 }4578}