diff options
Diffstat (limited to 'src/libjin/Time/je_timer.h')
-rw-r--r-- | src/libjin/Time/je_timer.h | 137 |
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 |