Esempio n. 1
0
 /// <summary>
 /// Resumes paused timer and lap time. Does nothing if wasn't paused.
 /// </summary>
 /// <returns>Elapsed time at pause moment.</returns>
 public virtual void Resume()
 {
     if (State == StopWatchStatus.PAUSED)
     {
         StartTime = LapStartTime = Utils.GetNowUnixTimestamp();
         State     = StopWatchStatus.RUNNING;
     }
 }
Esempio n. 2
0
 /// <summary>
 /// Reset's all timer's counters.
 /// </summary>
 /// <returns>Current timer.</returns>
 public virtual StopWatch Reset()
 {
     _elapsedTime = 0;
     LapTime      = 0;
     LapStartTime = 0;
     StartTime    = 0;
     State        = StopWatchStatus.NOT_STARTED;
     return(this);
 }
Esempio n. 3
0
 /// <summary>
 /// Starts timer if it wasn't started yet.
 /// </summary>
 /// <returns>Started timer.</returns>
 public virtual StopWatch Start()
 {
     if (State == StopWatchStatus.NOT_STARTED)
     {
         State             = StopWatchStatus.RUNNING;
         this.StartTime    = Utils.GetNowUnixTimestamp();
         this._elapsedTime = 0L;
     }
     return(this);
 }
Esempio n. 4
0
 /// <summary>
 /// Stops timer, cannot be resumed\started after.
 /// </summary>
 /// <returns>Elapsed time</returns>
 public virtual long Stop()
 {
     if (State != StopWatchStatus.STOPPED)
     {
         long elapsedTime = Pause();
         State = StopWatchStatus.STOPPED;
         return(elapsedTime);
     }
     return(_elapsedTime);
 }
Esempio n. 5
0
 /// <summary>
 /// Pause whole timer including lap time. Does nothing if wasn't running.
 /// </summary>
 /// <returns>Elapsed time at pause moment.</returns>
 public virtual long Pause()
 {
     if (State == StopWatchStatus.RUNNING)
     {
         long currentTimestamp = Utils.GetNowUnixTimestamp();
         _elapsedTime += currentTimestamp - StartTime;
         if (LapStartTime > 0)
         {
             LapTime += currentTimestamp - LapStartTime;
         }
         State = StopWatchStatus.PAUSED;
     }
     return(_elapsedTime);
 }
Esempio n. 6
0
 public StopWatch()
 {
     State = StopWatchStatus.NOT_STARTED;
 }