機能
時間を計ります
変数
private:
| 型 | 変数名 | 目的 |
| int | m_nStartTime | セットした時間を保持します |
取得系メソッド
機能:現在どのくらい経過したかを取得します(デフォルトでは宣言からの経過時間)
int sact_timer_t::Get()
{
int nCurrentTime = SACT.Timer_Get();
if(nCurrentTime < m_nStartTime)
{
SACT_SYSTEM_LOG_OUTPUT("*WARNING* sact_timer_t::Get() nCurrentTime < m_nStartTime\n");
m_nStartTime = nCurrentTime;
}
return nCurrentTime - m_nStartTime; }
設定・作成系メソッド
機能:nTimeぶん時間を進めて最初の時間をセットします。
**.Set(**.Get);で変化無し、**.Set(0);で0から。
void sact_timer_t::Set(int nTime)
{
m_nStartTime = SACT.Timer_Get() - nTime;
}
//bUpdate:画面更新有無,bMsgSkip:文字送り中に無視するか否か
void sact_timer_t::Wait(int nTime, int bUpdate, int bCheckMsgSkip)
{
while(SACT.Timer_Get() - m_nStartTime < nTime)
{
if(bCheckMsgSkip)
{
if(SACT_WAIT_IS_SKIP())
{
return;
}
}
if(bUpdate)
{
SACT_UPDATE();
}
else {
system.Sleep(1);
}
}
}
コンストラクタ
sact_timer_t();
sact_timer_t::sact_timer_t()
{
m_nStartTime = SACT.Timer_Get();
}
デストラクタ
なし
グローバル宣言
sact_timer_t g_MessageAutoTimer;