Scheduler is responsible for triggering the scheduled callbacks. More...
#include <CCScheduler.h>
Public Member Functions | |
CCScheduler () | |
~CCScheduler (void) | |
float | getTimeScale (void) |
void | setTimeScale (float fTimeScale) |
Modifies the time of all scheduled callbacks. More... | |
void | update (float dt) |
'update' the scheduler. More... | |
void | scheduleSelector (SEL_SCHEDULE pfnSelector, CCObject *pTarget, float fInterval, unsigned int repeat, float delay, bool bPaused) |
The scheduled method will be called every 'interval' seconds. More... | |
void | scheduleSelector (SEL_SCHEDULE pfnSelector, CCObject *pTarget, float fInterval, bool bPaused) |
calls scheduleSelector with kCCRepeatForever and a 0 delay More... | |
void | scheduleUpdateForTarget (CCObject *pTarget, int nPriority, bool bPaused) |
Schedules the 'update' selector for a given target with a given priority. More... | |
void | unscheduleSelector (SEL_SCHEDULE pfnSelector, CCObject *pTarget) |
Unschedule a selector for a given target. More... | |
void | unscheduleUpdateForTarget (const CCObject *pTarget) |
Unschedules the update selector for a given target. More... | |
void | unscheduleAllForTarget (CCObject *pTarget) |
Unschedules all selectors for a given target. More... | |
void | unscheduleAll (void) |
Unschedules all selectors from all targets. More... | |
void | unscheduleAllWithMinPriority (int nMinPriority) |
Unschedules all selectors from all targets with a minimum priority. More... | |
unsigned int | scheduleScriptFunc (unsigned int nHandler, float fInterval, bool bPaused) |
The scheduled script callback will be called every 'interval' seconds. More... | |
void | unscheduleScriptEntry (unsigned int uScheduleScriptEntryID) |
Unschedule a script entry. More... | |
void | pauseTarget (CCObject *pTarget) |
Pauses the target. More... | |
void | resumeTarget (CCObject *pTarget) |
Resumes the target. More... | |
bool | isTargetPaused (CCObject *pTarget) |
Returns whether or not the target is paused. More... | |
CCSet * | pauseAllTargets () |
Pause all selectors from all targets. More... | |
CCSet * | pauseAllTargetsWithMinPriority (int nMinPriority) |
Pause all selectors from all targets with a minimum priority. More... | |
void | resumeTargets (CCSet *targetsToResume) |
Resume selectors on a set of targets. More... | |
Public Member Functions inherited from CCObject | |
CCObject (void) | |
virtual | ~CCObject (void) |
void | release (void) |
void | retain (void) |
CCObject * | autorelease (void) |
CCObject * | copy (void) |
bool | isSingleReference (void) const |
unsigned int | retainCount (void) const |
virtual bool | isEqual (const CCObject *pObject) |
virtual void | acceptVisitor (CCDataVisitor &visitor) |
Public Member Functions inherited from CCCopying | |
virtual CCObject * | copyWithZone (CCZone *pZone) |
Protected Attributes | |
float | m_fTimeScale |
struct _listEntry * | m_pUpdatesNegList |
struct _listEntry * | m_pUpdates0List |
struct _listEntry * | m_pUpdatesPosList |
struct _hashUpdateEntry * | m_pHashForUpdates |
struct _hashSelectorEntry * | m_pHashForTimers |
struct _hashSelectorEntry * | m_pCurrentTarget |
bool | m_bCurrentTargetSalvaged |
bool | m_bUpdateHashLocked |
CCArray * | m_pScriptHandlerEntries |
Protected Attributes inherited from CCObject | |
unsigned int | m_uReference |
unsigned int | m_uAutoReleaseCount |
Additional Inherited Members | |
Public Attributes inherited from CCObject | |
unsigned int | m_uID |
int | m_nLuaID |
Scheduler is responsible for triggering the scheduled callbacks.
You should not use NSTimer. Instead use this class.
There are 2 different types of callbacks (selectors):
The 'custom selectors' should be avoided when possible. It is faster, and consumes less memory to use the 'update selector'.
CCScheduler | ( | ) |
~CCScheduler | ( | void | ) |
|
inline |
bool isTargetPaused | ( | CCObject * | pTarget) |
Returns whether or not the target is paused.
CCSet* pauseAllTargets | ( | ) |
Pause all selectors from all targets.
You should NEVER call this method, unless you know what you are doing.
CCSet* pauseAllTargetsWithMinPriority |
( | int | nMinPriority) |
Pause all selectors from all targets with a minimum priority.
You should only call this with kCCPriorityNonSystemMin or higher.
void pauseTarget | ( | CCObject * | pTarget) |
Pauses the target.
All scheduled selectors/update for a given target won't be 'ticked' until the target is resumed. If the target is not present, nothing happens.
void resumeTarget | ( | CCObject * | pTarget) |
Resumes the target.
The 'target' will be unpaused, so all schedule selectors/update will be 'ticked' again. If the target is not present, nothing happens.
void resumeTargets | ( | CCSet * | targetsToResume) |
Resume selectors on a set of targets.
This can be useful for undoing a call to pauseAllSelectors.
unsigned int scheduleScriptFunc | ( | unsigned int | nHandler, |
float | fInterval, | ||
bool | bPaused | ||
) |
The scheduled script callback will be called every 'interval' seconds.
If paused is YES, then it won't be called until it is resumed. If 'interval' is 0, it will be called every frame. return schedule script entry ID, used for unscheduleScriptFunc().
void scheduleSelector | ( | SEL_SCHEDULE | pfnSelector, |
CCObject * | pTarget, | ||
float | fInterval, | ||
unsigned int | repeat, | ||
float | delay, | ||
bool | bPaused | ||
) |
The scheduled method will be called every 'interval' seconds.
If paused is YES, then it won't be called until it is resumed. If 'interval' is 0, it will be called every frame, but if so, it's recommended to use 'scheduleUpdateForTarget:' instead. If the selector is already scheduled, then only the interval parameter will be updated without re-scheduling it again. repeat let the action be repeated repeat + 1 times, use kCCRepeatForever to let the action run continuously delay is the amount of time the action will wait before it'll start
void scheduleSelector | ( | SEL_SCHEDULE | pfnSelector, |
CCObject * | pTarget, | ||
float | fInterval, | ||
bool | bPaused | ||
) |
calls scheduleSelector with kCCRepeatForever and a 0 delay
void scheduleUpdateForTarget | ( | CCObject * | pTarget, |
int | nPriority, | ||
bool | bPaused | ||
) |
Schedules the 'update' selector for a given target with a given priority.
The 'update' selector will be called every frame. The lower the priority, the earlier it is called.
|
inline |
Modifies the time of all scheduled callbacks.
You can use this property to create a 'slow motion' or 'fast forward' effect. Default is 1.0. To create a 'slow motion' effect, use values below 1.0. To create a 'fast forward' effect, use values higher than 1.0.
void unscheduleAll | ( | void | ) |
Unschedules all selectors from all targets.
You should NEVER call this method, unless you know what you are doing.
void unscheduleAllForTarget | ( | CCObject * | pTarget) |
Unschedules all selectors for a given target.
This also includes the "update" selector.
void unscheduleAllWithMinPriority | ( | int | nMinPriority) |
Unschedules all selectors from all targets with a minimum priority.
You should only call this with kCCPriorityNonSystemMin or higher.
void unscheduleScriptEntry | ( | unsigned int | uScheduleScriptEntryID) |
Unschedule a script entry.
void unscheduleSelector | ( | SEL_SCHEDULE | pfnSelector, |
CCObject * | pTarget | ||
) |
Unschedule a selector for a given target.
If you want to unschedule the "update", use unscheudleUpdateForTarget.
void unscheduleUpdateForTarget | ( | const CCObject * | pTarget) |
Unschedules the update selector for a given target.
|
virtual |
'update' the scheduler.
You should NEVER call this method, unless you know what you are doing.
Reimplemented from CCObject.
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |