diff options
Diffstat (limited to 'src/timer.cpp')
-rw-r--r-- | src/timer.cpp | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/src/timer.cpp b/src/timer.cpp new file mode 100644 index 0000000..b59bec8 --- /dev/null +++ b/src/timer.cpp @@ -0,0 +1,53 @@ +#include "timer.hpp" + +Timer::Timer() +{ + startTicks = 0; + pausedTicks= 0; + paused = false; + started = false; +} + +void Timer::Start() +{ + started = true; + paused = false; + startTicks = SDL_GetTicks(); +} + +void Timer::Stop() +{ + started =false; + paused = false; +} + +void Timer::Pause() +{ + if ((started == true) && (paused == false )){ + paused = true; + pausedTicks = SDL_GetTicks() - startTicks; + } +} + +void Timer::unPause() +{ + if (paused) + { + paused = false; + startTicks = SDL_GetTicks() - pausedTicks; + pausedTicks = 0; + } +} + +int Timer::getTicks() +{ + if(started) + { + if (paused) + return pausedTicks; + else + return SDL_GetTicks() - startTicks; + } + else + return 0; +} |