📄 mcgtimer.h
字号:
// MCGTimer.h: interface for the CMCGTimer class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_MCGTIMER_H__A4750361_76F3_4DF9_A566_4D041E07FBBC__INCLUDED_)
#define AFX_MCGTIMER_H__A4750361_76F3_4DF9_A566_4D041E07FBBC__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
class CMCGTimer
{
public:
CMCGTimer()
{
m_Timers.push_back(this);
Stop();
// char buf[256];
// _snprintf(buf, sizeof(buf), "Timer created! Total Timers: %d\n", m_Timers.size());
// OutputDebugString(buf);
}
virtual ~CMCGTimer()
{
// delete timer from vector
std::vector<CMCGTimer *>::iterator itor;
for ( itor = m_Timers.begin(); itor != m_Timers.end(); itor++)
{
if ((*itor) == this) {
m_Timers.erase(itor);
// char buf[256];
// _snprintf(buf, sizeof(buf),
// "Timer deleted! Total Timers: %d\n", m_Timers.size());
// OutputDebugString(buf);
break;
}
}
}
public:
void Start() { m_bIsRunning = true; }
void Pause() { m_bIsRunning = false; }
void Stop() { Pause(); m_fTime = 0; }
void Begin() { Stop(); Start(); }
void BeginWithDelay(float fDelay) { m_fTime = -fDelay; Start(); }
void SetTime(float t) { m_fTime = t; }
float GetTime() { return(m_fTime); }
bool IsRunning() { return(m_bIsRunning); }
void Update(float fElapsedTime)
{
if (m_bIsRunning) m_fTime += fElapsedTime;
}
// these are here so you can call 1 function to update all timers
static std::vector<CMCGTimer *> m_Timers;
static void UpdateAll(float fElapsedTime)
{
std::vector<CMCGTimer *>::iterator i;
for ( i = m_Timers.begin(); i != m_Timers.end(); i++)
{
(*i)->Update(fElapsedTime);
}
}
protected:
bool m_bIsRunning;
float m_fTime;
};
#endif // !defined(AFX_MCGTIMER_H__A4750361_76F3_4DF9_A566_4D041E07FBBC__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -