Bazaar developer reference

CvUnit::SetMissionTimer(int)

Defined in
CvUnit.cpp, line 23502
Class
CvUnit
Hook name
CivHooks::CvUnit_SetMissionTimer

Hooks

static bool BeforeCvUnit_SetMissionTimer(CvUnit* self, int iNewValue);static void AfterCvUnit_SetMissionTimer(CvUnit* self, int iNewValue);static void ReplaceCvUnit_SetMissionTimer(void (*original)(CvUnit*, int), CvUnit* self, int iNewValue);CivRegisterBefore<CivHooks::CvUnit_SetMissionTimer>(host, &BeforeCvUnit_SetMissionTimer);CivRegisterAfter<CivHooks::CvUnit_SetMissionTimer>(host, &AfterCvUnit_SetMissionTimer);CivRegisterReplace<CivHooks::CvUnit_SetMissionTimer>(host, &ReplaceCvUnit_SetMissionTimer);

Code

23501/// Set value from mission timer23502void CvUnit::SetMissionTimer(int iNewValue)23503{23504	VALIDATE_OBJECT23505	CvAssert(getOwner() != NO_PLAYER);2350623507	int iOldTimer = m_iMissionTimer;2350823509	m_iMissionTimer = iNewValue;23510	CvAssert(GetMissionTimer() >= 0);2351123512	int iNewTimer = m_iMissionTimer;2351323514	if((iOldTimer == 0) != (iNewTimer == 0))23515	{23516		if((getOwner() == GC.getGame().getActivePlayer()) && IsSelected())23517		{23518			DLLUI->setDirty(UnitInfo_DIRTY_BIT, true);23519		}2352023521		if(iNewTimer == 0)23522		{23523			auto_ptr<ICvUnit1> pDllUnit(new CvDllUnit(this));23524			gDLL->GameplayUnitMissionEnd(pDllUnit.get());23525		}23526	}23527}

Calls

Called by