#ifndef N_TIMER_H #define N_TIMER_H //------------------------------------------------------------------------------ /** @brief ŸÀÌ¸Ó @author - Áö¿Ï @since - 2005.6.30 @remarks - ÀÛ¾÷ Áß! */ class nTimer { public: nTimer(); ~nTimer(); public: void Start(const float dwTime); void Stop(); void Reset(); bool IsTime(); bool IsEnable(); void SetEnable(bool enable); float Get(); float Signal(float dwTime); float GetEndTime(); private: void Clear(); private: bool m_enable; bool m_init; float m_dwStartTime; float m_dwEndTime; }; //------------------------------------------------------------------------------ /** »ý¼ºÀÚ */ inline nTimer::nTimer():m_xEnable(true) { Clear(); m_init = true; } //------------------------------------------------------------------------------ /** ¼Ò¸êÀÚ */ inline ~nTimer() { Clear(); m_init = false; } //------------------------------------------------------------------------------ /** ŸÀÌ¸Ó ¸®¼Â */ inline void nTimer::Reset() { Stop(); } //------------------------------------------------------------------------------ /** Á¤ÇØÁø ½Ã°£ÀÌ ´ÙµÆ³ª °Ë»ç */ inline bool nTimer::IsTime() { /* if(m_enable) return (m_kernelServer->GetTimeServer()->GetTime()>= m_dwEndTime); else */ return false; } //------------------------------------------------------------------------------ /** ŸÀÌ¸Ó È°¼ºÈ­ °Ë»ç */ inline bool nTimer::IsEnable() { return m_enable; } //------------------------------------------------------------------------------ /** ŸÀÌ¸Ó ½ºÅ¸Æ® */ inline void nTimer::Start(float dwTime) { if(!m_enable) return; if(m_dwStartTime) return; //m_dwStartTime = m_kernelServer->GetTimeServer()->GetTime(); m_dwEndTime = m_dwStartTime + dwTime; } //------------------------------------------------------------------------------ /** ŸÀÌ¸Ó Á¤Áö */ inline void nTimer::Stop() { if(!m_enable) return; Clear(); } //------------------------------------------------------------------------------ /** Ȱ¼ºÈ­ ¼¼ÆÃ */ inline void nTimer::SetEnable(bool enable) { m_enable = enable; } //------------------------------------------------------------------------------ /** ½ÃÀ۽ð£À¸·Î ºÎÅÍ È帥 ½Ã°£ */ inline float nTimer::Get() { //return (m_kernelServer->GetTimeServer()->GetTime() - m_dwStartTime); return 0.0f; } //------------------------------------------------------------------------------ /** dwTime ¸¶´Ù ½ÅÈ£¸¦ ¹ß»ý ½ÃÅ´ */ inline float nTimer::Signal(float dwTime) { float rt=(Get()/dwTime); rt=(DWORD)rt%2; return rt; } //------------------------------------------------------------------------------ /** ¼Ò¸ê ½Ã°£À» ±¸ÇÔ */ inline float nTimer::GetEndTime() { return (m_dwEndTime - m_dwStartTime); } } //------------------------------------------------------------------------------ /** µ¥ÀÌÅÍ ÃʱâÈ­ */ inline void nTimer::Clear() { m_dwStartTime = 0; m_dwEndTime = 0; } #endif