示例#1
0
        public void RestartTimer(int timerId, int delta)
        {
            if (timerId == 0)
            {
                return;
            }

            lock (_TimerLock)
            {
                LmTimerItem timer = _Items.GetByID(timerId);
                if (timer != null)
                {
                    if (delta != 0)
                    {
                        timer.Delta = delta;
                    }

                    //timer.EndTime = GetCurrentTime().AddMilliseconds(timer.Delta);
                    timer.UpdateEndTime(GetCurrentTime());
                    timer.IsPaused = false;
                }
#if DEBUG
                if (timer != null)
                {
                    TRACE("LmTimer.RestartTimer ID={0}", timerId);
                }
                else
                {
                    TRACE("LmTimer.RestartTimer ID={0} (not existing)", timerId);
                }
#endif
            }
        }
示例#2
0
        public void PauseTimer(int timerId)
        {
            if (timerId == 0)
            {
                return;
            }

            lock (_TimerLock)
            {
                LmTimerItem timer = _Items.GetByID(timerId);
                if (timer != null)
                {
                    timer.IsPaused = true;
                }
#if DEBUG
                if (timer != null)
                {
                    TRACE("LmTimer.PauseTimer ID={0}", timerId);
                }
                else
                {
                    TRACE("LmTimer.PauseTimer ID={0} (not existing)", timerId);
                }
#endif
            }
        }
示例#3
0
        public int AddTimer(int delta, LmTimerType timerType)
        {
            LmTimerItem timer = null;

            lock (_TimerLock)
            {
                int timerId = m_nTimerIdCtr++;
                timer = new LmTimerItem(timerId, delta, timerType);
                //if (_Items.ContainsID(timerId))
                //{
                //}
                _Items.Add(timer);

                // start timer manager
                if (_IsAutoStart && _IsRunning == false)
                {
                    Start();
                }
            }

            // reinit timer
            RestartTimer(timer.Id);

            return(timer.Id);
        }
示例#4
0
        private LmTimerItem GetTimer(int timerId)
        {
            if (timerId == 0)
            {
                return(null);
            }

            lock (_TimerLock)
            {
                LmTimerItem timer = _Items.GetByID(timerId);
                return(timer);
            }
        }
示例#5
0
        // helper for pause in using constuct
        public ILmTimerPauser GetTimerPauser(int timerId)
        {
            int pauserId = 0;

            lock (_TimerLock)
            {
                LmTimerItem timer = _Items.GetByID(timerId);
                if (timer != null)
                {
                    pauserId = timerId;
                }
            }

#if DEBUG
            if (pauserId == 0)
            {
                TRACE("LmTimer.GetTimerPauser ID={0} (not existing)", timerId);
            }
#endif
            var pauser = new LmTimerPauser(this, pauserId);
            return(pauser);
        }
示例#6
0
		public int AddTimer(int delta, LmTimerType timerType)
		{
			LmTimerItem timer = null;

			lock (_TimerLock)
			{
				int timerId = m_nTimerIdCtr++;
				timer = new LmTimerItem(timerId, delta, timerType);
				//if (_Items.ContainsID(timerId))
				//{
				//}
				_Items.Add(timer);

				// start timer manager
				if (_IsAutoStart && _IsRunning == false)
				{
					Start();
				}
			}

			// reinit timer
			RestartTimer(timer.Id);

			return timer.Id;
		}