sact_timer_t

Last-modified: 2008-05-14 (水) 21:57:31

機能

 時間を計ります

変数

private:

変数名目的
intm_nStartTimeセットした時間を保持します

取得系メソッド

int Get();

機能:現在どのくらい経過したかを取得します(デフォルトでは宣言からの経過時間)

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;
}

設定・作成系メソッド

void Set(int nTime);

機能:nTimeぶん時間を進めて最初の時間をセットします。
 **.Set(**.Get);で変化無し、**.Set(0);で0から。

void sact_timer_t::Set(int nTime)
{
	m_nStartTime = SACT.Timer_Get() - nTime;
}
void Wait(int nTime, int bUpdate = true, int bCheckMsgSkip = false);
//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;