Bazaar developer reference

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}

Calls