📄 ctimermanager.cpp
字号:
//
// CTimerManager.cpp
//
// --------------------------------------------------------
// A Practical Guide to Script-Driven Software Development
// Author: Qiming Lu Date: 6/1/2006
// MSN Messager: luqiming26@hotmail.com
// MSN Blog: http://spaces.msn.com/jemylu
// --------------------------------------------------------
#include "stdafx.h"
#include "CTimerManager.h"
#include "CTimer.h"
CTimerManager* GetTimerMgr() { return(CTimerManager::GetInstance()); }
// Singleton instance of CTimerManager
CTimerManager* CTimerManager::mInstance = 0;
/////////////////////////////////////////////////////////////////////////////////////////
CTimerManager::CTimerManager()
{
}
CTimerManager::~CTimerManager()
{
TimerList::iterator itBegin(mTimerQueue.begin()), itEnd(mTimerQueue.end());
for (TimerList::iterator it = itBegin; it != itEnd; ++it)
{
CTimer* pTimer = *it;
pTimer->Release();
}
}
void CTimerManager::CreateInstance()
{
if (mInstance == 0)
{
mInstance = new CTimerManager();
}
}
void CTimerManager::DeleteInstance()
{
if (mInstance)
{
delete mInstance;
mInstance = 0;
}
}
CTimerManager* CTimerManager::GetInstance()
{
return mInstance;
}
void CTimerManager::QueueTimer(CTimer* pTimer)
{
if (pTimer)
{
pTimer->AddRef();
mTimerQueue.push_back(pTimer);
}
}
void CTimerManager::Process()
{
static long sCounter = 0;
TimerList::iterator itBegin(mTimerQueue.begin()), itEnd(mTimerQueue.end());
for (TimerList::iterator it = itBegin; it != itEnd; ++it)
{
CTimer* pTimer = *it;
if (pTimer)
{
pTimer->ProcessTicks(sCounter);
}
}
++sCounter;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -