aboutsummaryrefslogtreecommitdiff
path: root/src/libjin/Time/je_timer.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/libjin/Time/je_timer.h')
-rw-r--r--src/libjin/Time/je_timer.h137
1 files changed, 0 insertions, 137 deletions
diff --git a/src/libjin/Time/je_timer.h b/src/libjin/Time/je_timer.h
deleted file mode 100644
index 31cd322..0000000
--- a/src/libjin/Time/je_timer.h
+++ /dev/null
@@ -1,137 +0,0 @@
-#ifndef __JE_TIMER_H__
-#define __JE_TIMER_H__
-#include "../core/je_configuration.h"
-#if defined(jin_time)
-
-#include <vector>
-#include <functional>
-
-#include "SDL2/SDL.h"
-
-namespace JinEngine
-{
- namespace Time
- {
-
- ///
- ///
- ///
- class Timer
- {
- public:
-
- typedef std::function<void(void*)> TimerCallback;
-
- typedef std::function<void(void*)> FinishCallback;
-
- ///
- ///
- ///
- class Handler
- {
- public:
- friend class Timer;
- enum Type
- {
- EVERY,
- AFTER,
- REPEAT,
- };
- Handler(Type type, float duration, int count = 0, TimerCallback callback = nullptr, void* paramters = nullptr, FinishCallback finishcallback = nullptr);
- virtual ~Handler();
- void process(float dt);
-
- protected:
- int count;
- int countdown;
- float duration;
- float tickdown;
- Type type;
- TimerCallback callback;
- FinishCallback finishCallback;
- void* paramters;
- bool canceled;
- };
-
- ///
- ///
- ///
- Timer();
-
- ///
- ///
- ///
- ~Timer();
-
- ///
- ///
- ///
- void update(float dt);
-
- ///
- ///
- ///
- Handler* every(float dt, TimerCallback callback, void* paramters, FinishCallback finish);
-
- ///
- ///
- ///
- Handler* after(float dt, TimerCallback callback, void* paramters, FinishCallback finish);
-
- ///
- ///
- ///
- Handler* repeat(float dt, int count, TimerCallback callback, void* paramters, FinishCallback finish);
-
- ///
- ///
- ///
- void cancel(Handler* handler);
-
- ///
- ///
- ///
- void cancelAll();
-
- private:
-
- std::vector<Handler*> mHandlers;
-
- };
-
- ///
- ///
- ///
- inline void sleep(int ms)
- {
- #if jin_time == jin_time_sdl
- SDL_Delay(ms);
- #endif
- }
-
- ///
- ///
- ///
- inline double getSecond()
- {
- #if jin_time == jin_time_sdl
- return SDL_GetTicks() / 1000.f;
- #endif
- }
-
- ///
- ///
- ///
- inline double getMilliSecond()
- {
- #if jin_time == jin_time_sdl
- return SDL_GetTicks();
- #endif
- }
-
- } // namespace Time
-} // namespace JinEngine
-
-#endif // defined(jin_time)
-
-#endif // __JE_TIMER_H__ \ No newline at end of file