diff options
author | chai <chaifix@163.com> | 2018-11-12 08:04:11 +0800 |
---|---|---|
committer | chai <chaifix@163.com> | 2018-11-12 08:04:11 +0800 |
commit | 72e45f0062d727cedd576d1e1251f6722454a119 (patch) | |
tree | 736594b79e71c66a668d99d96c3ce464618e50ca /src/libjin/Time/je_timer.h | |
parent | 7c2f33bdf37de7acf9b0728a115377081344db1c (diff) |
*修改代码结构
Diffstat (limited to 'src/libjin/Time/je_timer.h')
-rw-r--r-- | src/libjin/Time/je_timer.h | 22 |
1 files changed, 13 insertions, 9 deletions
diff --git a/src/libjin/Time/je_timer.h b/src/libjin/Time/je_timer.h index fabde28..31cd322 100644 --- a/src/libjin/Time/je_timer.h +++ b/src/libjin/Time/je_timer.h @@ -22,12 +22,14 @@ namespace JinEngine typedef std::function<void(void*)> TimerCallback; + typedef std::function<void(void*)> FinishCallback; + /// /// /// class Handler { - private: + public: friend class Timer; enum Type { @@ -35,16 +37,18 @@ namespace JinEngine AFTER, REPEAT, }; - Handler(Type type, int duration, int count = 0, TimerCallback callback = nullptr, void* paramters = nullptr); + Handler(Type type, float duration, int count = 0, TimerCallback callback = nullptr, void* paramters = nullptr, FinishCallback finishcallback = nullptr); virtual ~Handler(); - void process(int ms); + void process(float dt); - int duration; + protected: int count; - int tickdown; int countdown; + float duration; + float tickdown; Type type; TimerCallback callback; + FinishCallback finishCallback; void* paramters; bool canceled; }; @@ -62,22 +66,22 @@ namespace JinEngine /// /// /// - void update(int ms); + void update(float dt); /// /// /// - Handler* every(int ms, TimerCallback callback, void* paramters); + Handler* every(float dt, TimerCallback callback, void* paramters, FinishCallback finish); /// /// /// - Handler* after(int ms, TimerCallback callback, void* paramters); + Handler* after(float dt, TimerCallback callback, void* paramters, FinishCallback finish); /// /// /// - Handler* repeat(int ms, int count, TimerCallback callback, void* paramters); + Handler* repeat(float dt, int count, TimerCallback callback, void* paramters, FinishCallback finish); /// /// |