Pixel Dust Game Engine  v0.9.5
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups
Public Member Functions | Friends | List of all members
TimerManager Class Reference
Inheritance diagram for TimerManager:
Inheritance graph
[legend]
Collaboration diagram for TimerManager:
Collaboration graph
[legend]

Public Member Functions

void startTimer (long id, ms_delta delay, bool oneShot=true, UserData *userData=0)
 start new timer that will fire after delay ms
 
void cancelTimer (long id)
 remove a timer
 
void cancelAllTimers ()
 remove all timers
 
void delayTimer (long id, ms_delta delay)
 make sure a timer waits at least delay ms before next time it fires, regardless of current interval
 
void delayTimerUntil (long id, ms_time msTime)
 tell the timer not to fire until OS::getMilliseconds() => msTime
 
void pause ()
 pause all timers (no effect on timers added after pause)
 
void unpause ()
 unpause all timers
 
bool isPaused ()
 check to see if all timers are paused
 
void pauseTimer (long id)
 pause a particular timer
 
void unpauseTimer (long id)
 unpause a particular timer
 
bool isTimerPaused (long id)
 check to see if a particular timer is paused
 
ms_time getWhenTimerFiresNext (long id)
 return the time (OS::getMilliseconds()) when this timer will fire next, returns timer_Never if it won't fire
 
void checkTimers ()
 fire any timers that are ready to fire
 
ms_delta msTillNextFire ()
 tells us how long it will be (in milliseconds) till the next timer fires
 
- Public Member Functions inherited from EventEmitter
virtual void addHandler (IEventHandler *inHandler, long inType=all_events)
 add a new handler for some event type, or for all events if no type specified
 
virtual void removeHandler (IEventHandler *inHandler, long inType=all_events)
 Remove a handler for some event type, or for all events if no type specified.
 
virtual void clear (bool doRelease=true)
 remove all handlers
 
virtual void blockEvent (long inEventType)
 temporarily ignore all events of a particular type, just drop them on the floor
 
virtual void unblockEvent (long inEventType)
 stop ignoring events of a particular type, no recovery of previously ignored events
 
 EventEmitter ()
 constructor for new event emitter
 
virtual bool postEvent (long inEventType, void *inEventData, EventEmitter *fromEmitter=0)
 post an event for immediate handling locally, or relay it to the EventManger
 
- Public Member Functions inherited from Singleton< TimerManager >
 Singleton ()
 
virtual ~Singleton ()
 

Friends

class Singleton< TimerManager >
 

Additional Inherited Members

- Static Public Member Functions inherited from Singleton< TimerManager >
static TimerManagergetSingletonInstance ()
 
static bool hasInstance ()
 
static TimerManagerinstance ()
 
static void setInstance (TimerManager *i)
 
static TimerManagercreateSingletonInstance ()
 

Detailed Description

Manage timers that can fire at a particular time, or fire repeatedly. All TimerManager functions are safe to perform while a timer is firing. Functions that alter a timer can be safely used even from within the handler of the timer being changed (ie: while the target timer is in the process of firing)

Member Function Documentation

void cancelAllTimers ( )

remove all timers

void cancelTimer ( long  id)

remove a timer

void checkTimers ( )

fire any timers that are ready to fire

void delayTimer ( long  id,
ms_delta  delay 
)

make sure a timer waits at least delay ms before next time it fires, regardless of current interval

void delayTimerUntil ( long  id,
ms_time  msTime 
)

tell the timer not to fire until OS::getMilliseconds() => msTime

ms_time getWhenTimerFiresNext ( long  id)

return the time (OS::getMilliseconds()) when this timer will fire next, returns timer_Never if it won't fire

bool isPaused ( )

check to see if all timers are paused

bool isTimerPaused ( long  id)

check to see if a particular timer is paused

ms_delta msTillNextFire ( )

tells us how long it will be (in milliseconds) till the next timer fires

void pause ( )

pause all timers (no effect on timers added after pause)

void pauseTimer ( long  id)

pause a particular timer

void startTimer ( long  id,
ms_delta  delay,
bool  oneShot = true,
UserData userData = 0 
)

start new timer that will fire after delay ms

void unpause ( )

unpause all timers

void unpauseTimer ( long  id)

unpause a particular timer

Friends And Related Function Documentation

friend class Singleton< TimerManager >
friend