aboutsummaryrefslogtreecommitdiff
path: root/src/libjin/time/je_timer.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/libjin/time/je_timer.cpp')
-rw-r--r--src/libjin/time/je_timer.cpp132
1 files changed, 66 insertions, 66 deletions
diff --git a/src/libjin/time/je_timer.cpp b/src/libjin/time/je_timer.cpp
index 8dc5e86..5de3e26 100644
--- a/src/libjin/time/je_timer.cpp
+++ b/src/libjin/time/je_timer.cpp
@@ -5,26 +5,26 @@
namespace JinEngine
{
- namespace Time
- {
+ namespace Time
+ {
- Timer::Timer()
- : mHandlers()
- {
- }
+ Timer::Timer()
+ : mHandlers()
+ {
+ }
- Timer::~Timer()
- {
+ Timer::~Timer()
+ {
for (int i = 0; i < mHandlers.size(); ++i)
delete mHandlers[i];
- }
+ }
- void Timer::update(float dt)
- {
+ void Timer::update(float dt)
+ {
// Process handler.
- std::vector<Handler*>::iterator it = mHandlers.begin();
- for (; it != mHandlers.end(); ++it)
+ std::vector<Handler*>::iterator it = mHandlers.begin();
+ for (; it != mHandlers.end(); ++it)
(*it)->process(dt);
// Erase canceled handler.
for (it = mHandlers.begin(); it != mHandlers.end();)
@@ -38,7 +38,7 @@ namespace JinEngine
else
++it;
}
- }
+ }
void Timer::cancel(Handler* handler)
{
@@ -52,71 +52,71 @@ namespace JinEngine
cancel(h);
}
- Timer::Handler* Timer::every(float dt, TimerCallback callback, void* p, FinishCallback finish)
- {
- Handler* t = new Handler(Handler::EVERY, dt, 0, callback, p, finish);
- mHandlers.push_back(t);
+ Timer::Handler* Timer::every(float dt, TimerCallback callback, void* p, FinishCallback finish)
+ {
+ Handler* t = new Handler(Handler::EVERY, dt, 0, callback, p, finish);
+ mHandlers.push_back(t);
return t;
- }
+ }
- Timer::Handler* Timer::after(float dt, TimerCallback callback, void* p, FinishCallback finish)
- {
- Handler* t = new Handler(Handler::AFTER, dt, 0, callback, p, finish);
- mHandlers.push_back(t);
+ Timer::Handler* Timer::after(float dt, TimerCallback callback, void* p, FinishCallback finish)
+ {
+ Handler* t = new Handler(Handler::AFTER, dt, 0, callback, p, finish);
+ mHandlers.push_back(t);
return t;
- }
+ }
- Timer::Handler* Timer::repeat(float dt, int count, TimerCallback callback, void* p, FinishCallback finish)
- {
- Handler* t = new Handler(Handler::REPEAT, dt, count, callback, p, finish);
- mHandlers.push_back(t);
+ Timer::Handler* Timer::repeat(float dt, int count, TimerCallback callback, void* p, FinishCallback finish)
+ {
+ Handler* t = new Handler(Handler::REPEAT, dt, count, callback, p, finish);
+ mHandlers.push_back(t);
return t;
- }
-
- Timer::Handler::Handler(Type t, float d, int c, TimerCallback f, void* p, FinishCallback finishcallback)
- : type(t)
- , duration(d)
- , count(c)
- , tickdown(d)
- , countdown(c)
- , callback(f)
- , paramters(p)
+ }
+
+ Timer::Handler::Handler(Type t, float d, int c, TimerCallback f, void* p, FinishCallback finishcallback)
+ : type(t)
+ , duration(d)
+ , count(c)
+ , tickdown(d)
+ , countdown(c)
+ , callback(f)
+ , paramters(p)
, canceled(false)
, finishCallback(finishcallback)
- {
- }
+ {
+ }
- Timer::Handler::~Handler()
- {
+ Timer::Handler::~Handler()
+ {
if (finishCallback != nullptr)
finishCallback(paramters);
- }
-
- void Timer::Handler::process(float dt)
- {
- tickdown -= dt;
- if (tickdown <= 0)
- {
- tickdown += duration;
- if (!canceled && callback != nullptr)
- callback(paramters);
- if (type == EVERY)
- {
- }
- else if (type == AFTER)
- {
- canceled = true;
- }
- else if (type == REPEAT)
- {
- --countdown;
+ }
+
+ void Timer::Handler::process(float dt)
+ {
+ tickdown -= dt;
+ if (tickdown <= 0)
+ {
+ tickdown += duration;
+ if (!canceled && callback != nullptr)
+ callback(paramters);
+ if (type == EVERY)
+ {
+ }
+ else if (type == AFTER)
+ {
+ canceled = true;
+ }
+ else if (type == REPEAT)
+ {
+ --countdown;
if (countdown <= 0)
canceled = true;
- }
- }
- }
+ }
+ }
+ }
- } // namespace Time
+ } // namespace Time
} // namespace JinEngine
#endif // defined(jin_time) \ No newline at end of file