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