(Main.h is just the Irrlicht includes)
Timer.h
Code: Select all
#ifndef TIMER_H_INCLUDED_
#define TIMER_H_INCLUDED_
#include "Main.h"
class Timer
{
public:
Timer();
~Timer();
s32 getSecondsElapsed();
f32 getMinutesElapsed();
f32 getHoursElapsed();
f32 getDaysElapsed();
f32 getDeltaTime();
void init(ITimer* t);
void update();
private:
u32 NewTime;
u32 OldTime;
u32 Counter;
s32 Seconds;
f32 Minutes;
f32 Hours;
f32 Days;
f32 Delta;
f32 Elapsed;
ITimer* timer;
};
#endifCode: Select all
Timer::Timer() : Seconds(0), Minutes(0), Hours(0), Days(0), Delta(0), NewTime(0), OldTime(0), Elapsed(0), Counter(0)
{
}
Timer::~Timer()
{
}
void Timer::init(ITimer* t)
{
timer = t;
OldTime = timer->getRealTime();
}
void Timer::update()
{
NewTime = timer->getRealTime();
Elapsed = (NewTime - OldTime);
OldTime = NewTime;
Counter += Elapsed;
if(Counter >= 1000)
{
Counter -= 1000;
Seconds+=1;
}
}
s32 Timer::getSecondsElapsed()
{
return Seconds;
}
f32 Timer::getMinutesElapsed()
{
return Seconds/60.0f;
}
f32 Timer::getHoursElapsed()
{
return (Seconds/60.0f)/60.0f;
}
f32 Timer::getDaysElapsed()
{
return ((Seconds/60.0f)/60.0f)/24.0f;
}
f32 Timer::getDeltaTime()
{
return Elapsed/1000.0f;
}