43 m_UseDebugDeltaTime = useDebugDeltaTime;
44 m_DebugDeltaTime = debugDeltaTime;
51 m_DebugDeltaTime = 0.0f;
54 m_UseDebugDeltaTime = pause;
59 m_MaxDeltaTime = slowTime ? s_DebugSlowMaxTimeDeltaAllowed : s_MaxTimeDeltaAllowed;
85 DeleteTaskRecurse( a_pTask->
Child() );
86 DeleteTaskAtomic( a_pTask );
94 DeleteTaskRecurse( a_pTask->
Child() );
95 DeleteTaskAtomic( a_pTask->
Child() );
99 static void DestroyTaskRecurse(
TTask* task )
101 TTask* currentTask = task;
103 while ( currentTask !=
TNULL && currentTask != task )
109 DestroyTaskRecurse( currentTask );
112 currentTask = currentTask->
Next();
116 void DeleteTaskAtomic( TTask* task );
118 void DeleteTaskRecurse( TTask* task )
122 TTask* currentTask = task->
Prev();
124 while ( currentTask !=
TNULL )
126 TTask* nextTask = ( currentTask->
Prev() != task ) ? currentTask->
Prev() :
TNULL;
127 DeleteTaskAtomic( currentTask );
128 currentTask = nextTask;
133 void DestroyAllTasks()
135 if ( m_TaskTree.ChildOfRoot() !=
TNULL )
137 DestroyTaskRecurse( m_TaskTree.ChildOfRoot() );
138 DestroyDyingTasks( m_TaskTree.ChildOfRoot() );
143 void DestroyDyingTasks( TTask* task );
146 void UpdateActiveTasks( TTask* task );
149 static TFLOAT s_DebugSlowMaxTimeDeltaAllowed;
150 static TFLOAT s_MaxTimeDeltaAllowed;
153 TNodeTree<TTask> m_TaskTree;
159 TBOOL m_UseDebugDeltaTime;
164 TBOOL m_UseDebugDeltaTimeMult;
165 TFLOAT m_DebugDeltaTimeMult;
#define TSTATICCAST(POINTERTYPE, VALUE)
#define TOSHI_NAMESPACE_START
#define TOSHI_NAMESPACE_END
#define TDECLARE_CLASS(THIS_CLASS, PARENT_CLASS)
TFLOAT(*)(TFLOAT a_fRealDT) t_DeltaTimeCalculator
TFLOAT GetDebugDeltaTime() const
TFLOAT GetCurrentDeltaTime() const
void SetDebugDeltaTimeMult(TBOOL useDebugDeltaTimeMult, TFLOAT debugDeltaTimeMult=1.0f)
TFLOAT GetTotalTime() const
TUINT GetFrameCount() const
void DestroyTask(TTask *a_pTask)
TFLOAT GetDebugDeltaTimeMult() const
void SetDebugSlowTime(TBOOL slowTime)
void SetDebugPause(TBOOL pause)
void DeleteTask(TTask *a_pTask)
T * CreateTask(TTask *a_pParent=nullptr)
TFLOAT & GetDebugDeltaTimeMult()
TNodeTree< TTask > * GetTree()
TFLOAT & GetDebugDeltaTime()
TTask * CreateTask(TClass *a_pClass, TTask *a_pParent=nullptr)
void SetDebugDeltaTime(TBOOL useDebugDeltaTime, TFLOAT debugDeltaTime=0.0f)
virtual void OnPreDestroy()