LGPaul

Untitled

Jul 17th, 2013
63
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.92 KB | None | 0 0
  1. #ifndef _ZTIMER_H
  2. #define _ZTIMER_H
  3.  
  4.  
  5. #include <list>
  6. using namespace std;
  7.  
  8.  
  9. typedef void(ZGameTimerEventCallback)(void* pParam);
  10. class ZTimerEvent;
  11.  
  12.  
  13. // ¾ÕÀ¸·Î °ÔÀÓÆ½, ŸÀÌ¸Ó °ü·ÃÀº ¿©±â¼­ °ü¸®Çϵµ·Ï ÇÏÀÚ
  14. class ZTimer
  15. {
  16. private:
  17. bool m_bInitialized;
  18.  
  19.  
  20.  
  21.  
  22. unsigned long int m_nLastTime;
  23. unsigned long int m_nNowTime;
  24. list<ZTimerEvent*> m_EventList;
  25.  
  26.  
  27. // ŸÀÌ¸Ó °»½Å¿ë º¯¼öµé : ¸Þ¸ð¸®ÇÙÀ¸·Î º¯Á¶ÇÏ¸é ½ºÇǵåÇÙÀÌ °¡´ÉÇÏ´Ù ±×·¡¼­ ÈüÇÒ´çÇϰí ÁÖ±âÀûÀ¸·Î À§Ä¡¸¦ ¿Å±ä´Ù
  28. BOOL* m_pbUsingQPF;
  29. LONGLONG* m_pllQPFTicksPerSec;
  30. LONGLONG* m_pllLastElapsedTime;
  31. DWORD* m_pThistime;
  32. DWORD* m_pLasttime;
  33. DWORD* m_pElapsed;
  34.  
  35.  
  36. void UpdateEvents();
  37. void ShiftFugitiveValues();
  38.  
  39.  
  40. public:
  41. ZTimer();
  42. virtual ~ZTimer();
  43.  
  44.  
  45. float UpdateFrame();
  46. void ResetFrame();
  47.  
  48.  
  49. // ŸÀÌ¸Ó À̺¥Æ® °ü·Ã
  50. void SetTimerEvent(unsigned long int nElapsedTime, ZGameTimerEventCallback* fnTimerEventCallback, void* pParam, bool bTimerOnce=false);
  51. void ClearTimerEvent(ZGameTimerEventCallback* fnTimerEventCallback);
  52.  
  53.  
  54.  
  55.  
  56. unsigned long int GetNowTick() { return m_nNowTime; }
  57. };
  58.  
  59.  
  60. class ZUpdateTimer
  61. {
  62. private:
  63. float m_fUpdateTime;
  64. float m_fElapsedTime;
  65. public:
  66. ZUpdateTimer(float fUpdateTime) : m_fUpdateTime(fUpdateTime), m_fElapsedTime(0.0f) { }
  67. ZUpdateTimer() : m_fUpdateTime(0.0f), m_fElapsedTime(0.0f) { }
  68. bool Update(float fDelta)
  69. {
  70. m_fElapsedTime += fDelta;
  71. if (m_fElapsedTime < m_fUpdateTime) return false;
  72.  
  73.  
  74. m_fElapsedTime = 0.0f;
  75. return true;
  76. }
  77. void Init(float fUpdateTime) { m_fUpdateTime = fUpdateTime; m_fElapsedTime = 0.0f; }
  78. void Force() { m_fElapsedTime = m_fUpdateTime; }
  79. void SetUpdateTime(float fUpdateTime) { m_fUpdateTime = fUpdateTime; }
  80. float GetUpdateTime() const { return m_fUpdateTime; }
  81. };
  82.  
  83.  
  84.  
  85.  
  86. #endif
Advertisement
Add Comment
Please, Sign In to add comment