JKSV/source/system/Timer.cpp
2025-07-28 18:28:11 -04:00

26 lines
610 B
C++

#include "system/Timer.hpp"
#include "logger.hpp"
#include <SDL2/SDL.h>
sys::Timer::Timer(uint64_t triggerTicks) { Timer::start(triggerTicks); }
void sys::Timer::start(uint64_t triggerTicks)
{
m_triggerTicks = triggerTicks;
m_startingTicks = SDL_GetTicks64();
}
bool sys::Timer::is_triggered()
{
const uint64_t currentTicks = SDL_GetTicks64();
const bool triggered = (currentTicks - m_startingTicks) >= m_triggerTicks;
if (!triggered) { return false; }
m_startingTicks = currentTicks;
return true;
}
void sys::Timer::restart() { m_startingTicks = SDL_GetTicks64(); }