00001 #ifndef __TIMERMGR_H__ 00002 #define __TIMERMGR_H__ 00003 00015 #include "Event.H" 00016 #include "Fsa.H" 00017 00018 namespace IS3D { 00019 00020 class TimerMgr 00021 { 00022 private: 00023 TimerMgr(); 00024 00025 public: 00026 static void addTimerEvent( double secondsUntilEvent, EventRef e ); 00027 00028 private: 00029 void timeUpdatedCallback( EventRef e ); 00030 00031 class PendingEvent 00032 { 00033 public: 00034 double startWaitTime, waitDuration; 00035 EventRef event; 00036 }; 00037 00038 Array<PendingEvent> _pendingEvents; 00039 FsaRef _fsa; 00040 00041 static TimerMgr *_instance; 00042 }; 00043 00044 } 00045 00046 00047 00048 00049 #endif