29 lines
603 B
C++
29 lines
603 B
C++
#pragma once
|
|
|
|
#include <stdint.h>
|
|
|
|
class Timer {
|
|
public:
|
|
Timer() : start_time(0), duration(0), running(false) {}
|
|
void start(uint32_t now, uint32_t duration) {
|
|
start_time = now;
|
|
this->duration = duration;
|
|
running = true;
|
|
}
|
|
bool update(uint32_t now) {
|
|
if (!running) {
|
|
return false;
|
|
}
|
|
uint32_t elapsed = now - start_time;
|
|
if (elapsed > duration) {
|
|
running = false;
|
|
return false;
|
|
}
|
|
return true;
|
|
}
|
|
|
|
private:
|
|
uint32_t start_time;
|
|
uint32_t duration;
|
|
bool running;
|
|
}; |