先上代码,本身没有任何高科技的东西,不过很好用和方便。
#pragma once
#include "CommandQueue.h"
#include "GlobalFunction.h"
//
// 计时器回调函数.
//
typedef function<void(int)> TimerCallback;
class Timer
{
public:
Timer(int timerId, int ms, bool isLoop, const TimerCallback& func);
virtual ~Timer() {};
int getId() const
{
return m_timerId;
}
// return true if need remove
bool process();
private:
int m_timerId;
bool m_isLoop;
unsigned int m_startTime;
unsigned int m_delayTime;
TimerCallback m_function;
};
#ifdef USE_FOR_COCOS2D
class TimerObject : public Timer
{
public:
TimerObject(int timerId, int ms, bool isLoop, const TimerCallback& func, CCObject* target);
virtual ~TimerObject();
private:
CCObject* m_target;
};
#endif
class TimerMgr : public MySingleton<TimerMgr>
{
public:
TimerMgr()
{
m_currentTimerId = 0;
};
~TimerMgr() {};
int addTimer(int ms, bool loop, TimerCallback func)
{
Ti