Guest User

Untitled

a guest
Nov 19th, 2018
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.04 KB | None | 0 0
  1. class Timer {
  2. private:
  3. int startTicks;
  4. int pausedTicks;
  5. bool paused;
  6. bool started;
  7. public:
  8. Timer();
  9. void start();
  10. void stop();
  11. void pause();
  12. void unpause();
  13. int get_ticks();
  14. bool is_started();
  15. bool is_paused();
  16. };
  17.  
  18. Timer::Timer() {
  19. startTicks = 0;
  20. pausedTicks = 0;
  21. paused = false;
  22. started = false;
  23. }
  24.  
  25. void Timer::start() {
  26. started = true;
  27. paused = false;
  28. startTicks = SDL_GetTicks();
  29. }
  30.  
  31. void Timer::stop() {
  32. started = false;
  33. paused = false;
  34. }
  35.  
  36. void Timer::pause() {
  37. if((started == true) && (paused == false)) {
  38. paused = true;
  39. pausedTicks = SDL_GetTicks() - startTicks;
  40. }
  41. }
  42.  
  43. void Timer::unpause() {
  44. if(paused == true) {
  45. paused = false;
  46. startTicks = SDL_GetTicks() - pausedTicks;
  47. pausedTicks = 0;
  48. }
  49. }
  50.  
  51. int Timer::get_ticks() {
  52. if(started == true)
  53. {
  54. if(paused == true) {
  55. return pausedTicks;
  56. }
  57. else {
  58. return SDL_GetTicks() - startTicks;
  59. }
  60. }
  61. return 0;
  62. }
  63.  
  64. bool Timer::is_started() {
  65. return started;
  66. }
  67.  
  68. bool Timer::is_paused() {
  69. return paused;
  70. }
Add Comment
Please, Sign In to add comment