timermanager now creates its own timers
This commit is contained in:
+7
-6
@@ -8,8 +8,8 @@
|
||||
using namespace std::chrono;
|
||||
using namespace std;
|
||||
|
||||
Timer::Timer(string name, int triggercount, function<bool()> myaction, milliseconds triggerinterval)
|
||||
: name(name), triggeramount(triggercount), timeraction(myaction), triggerinterval(triggerinterval) {}
|
||||
Timer::Timer(size_t triggeramount, function<bool()> myaction, milliseconds triggerinterval)
|
||||
:triggeramount(triggeramount), timeraction(myaction), triggerinterval(triggerinterval) {}
|
||||
|
||||
void Timer::add_time(milliseconds deltatime) {
|
||||
accumulator += deltatime;
|
||||
@@ -23,16 +23,17 @@ void Timer::add_time(milliseconds deltatime) {
|
||||
}
|
||||
};
|
||||
|
||||
void TimerManager::add_timer(unique_ptr<Timer> newtimer) {
|
||||
timers.push_back(std::move(newtimer));
|
||||
void TimerManager::add_timer(size_t triggeramount, function<bool()> myaction, std::chrono::milliseconds triggerinterval) {
|
||||
Timer mynewtimer(triggeramount, myaction, triggerinterval);
|
||||
timers.push_back(mynewtimer);
|
||||
};
|
||||
|
||||
void TimerManager::update_timers() {
|
||||
steady_clock::time_point currenttime =
|
||||
steady_clock::now();
|
||||
milliseconds deltatime = duration_cast<milliseconds>(currenttime-previoustime);
|
||||
for(unique_ptr<Timer> &mytimer: timers){
|
||||
mytimer->add_time(deltatime);
|
||||
for(Timer &mytimer: timers){
|
||||
mytimer.add_time(deltatime);
|
||||
}
|
||||
previoustime = currenttime;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user