From 8cb74178c2b8e5883a1181af687fa8cfc0c6e5da Mon Sep 17 00:00:00 2001 From: chai Date: Sun, 18 Nov 2018 23:44:40 +0800 Subject: =?UTF-8?q?*=E4=BF=AE=E6=94=B9=E7=9B=AE=E5=BD=95=E4=B8=BA=E5=B0=8F?= =?UTF-8?q?=E5=86=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/libjin/Time/je_timer.cpp | 122 -------------------------------------- src/libjin/Time/je_timer.h | 137 ------------------------------------------- 2 files changed, 259 deletions(-) delete mode 100644 src/libjin/Time/je_timer.cpp delete mode 100644 src/libjin/Time/je_timer.h (limited to 'src/libjin/Time') diff --git a/src/libjin/Time/je_timer.cpp b/src/libjin/Time/je_timer.cpp deleted file mode 100644 index 8dc5e86..0000000 --- a/src/libjin/Time/je_timer.cpp +++ /dev/null @@ -1,122 +0,0 @@ -#include "../core/je_configuration.h" -#if defined(jin_time) - -#include "je_timer.h" - -namespace JinEngine -{ - namespace Time - { - - - Timer::Timer() - : mHandlers() - { - } - - Timer::~Timer() - { - for (int i = 0; i < mHandlers.size(); ++i) - delete mHandlers[i]; - } - - void Timer::update(float dt) - { - // Process handler. - std::vector::iterator it = mHandlers.begin(); - for (; it != mHandlers.end(); ++it) - (*it)->process(dt); - // Erase canceled handler. - for (it = mHandlers.begin(); it != mHandlers.end();) - { - if ((*it)->canceled) - { - Handler* h = *it; - it = mHandlers.erase(it); - delete h; - } - else - ++it; - } - } - - void Timer::cancel(Handler* handler) - { - if(handler != nullptr) - handler->canceled = true; - } - - void Timer::cancelAll() - { - for (auto h : mHandlers) - 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); - 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); - 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); - 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) - , canceled(false) - , finishCallback(finishcallback) - { - } - - 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; - if (countdown <= 0) - canceled = true; - } - } - } - - } // namespace Time -} // namespace JinEngine - -#endif // defined(jin_time) \ No newline at end of file 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 -#include - -#include "SDL2/SDL.h" - -namespace JinEngine -{ - namespace Time - { - - /// - /// - /// - class Timer - { - public: - - typedef std::function TimerCallback; - - typedef std::function 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 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 -- cgit v1.1-26-g67d0