예제 #1
0
 private void Start()
 {
     if (CanStart())
     {
         TimerDuration = _timerService.Start(new TimeSpan(TimerDuration.Hours, TimerDuration.Minutes, TimerDuration.Seconds));
     }
 }
예제 #2
0
        public void SetTimer(string name, double durationSeconds)
        {
            TimerName     = name;
            TimerDuration = TimeSpan.FromSeconds(durationSeconds);

            Timer = new Timer((_) =>
            {
                TimerDuration = TimerDuration.Subtract(TimeSpan.FromSeconds(1));
                if (TimerDuration.TotalSeconds <= 0)
                {
                    Timer.Dispose();
                    Timer = null;
                }

                OnTimerChange?.Invoke();
            }, null, 0, 1000);
        }