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
- CvDllUnit::CvDllUnit(CvUnit *)
- CvGame::getActivePlayer() const
- CvGlobals::getDLLIFace()
- CvGlobals::GetEngineUserInterface()
- CvGlobals::getGame()
- CvUnit::getOwner() const
- CvUnit::IsSelected() const
ICvEngineUtility1::GameplayUnitMissionEndICvUserInterface1::setDirtystd::auto_ptr::auto_ptrstd::auto_ptr::get