OpenBarnyard
 
Loading...
Searching...
No Matches
TTask.h
Go to the documentation of this file.
1#pragma once
2#include "TObject.h"
3#include "TRefCounted.h"
4#include "TNodeTree.h"
5
7
8class TScheduler;
9
10class TTask : public TObject
11 , public TRefCounted
12 , public TNodeTree<TTask>::TNode
13{
14public:
16
17public:
18 friend TScheduler;
19
26
27public:
28 TTask();
29 virtual ~TTask();
30
31 virtual TBOOL Create();
32 virtual TBOOL CreateFailed();
33 virtual TBOOL Reset();
34 virtual TBOOL OnCreate();
35 virtual TBOOL OnUpdate( TFLOAT a_fDeltaTime );
36 virtual void OnPreDestroy();
37 virtual void OnDestroy();
38 virtual TBOOL OnChildDying( TTask* child );
39 virtual void OnChildDied( TClass* a_pClass, TTask* a_pDeletedTask );
40 virtual void OnActivate();
41 virtual void OnDeactivate();
42
43 void Activate( TBOOL activate );
44 void SetParent( TTask* a_pAttachTo );
45
46 TUINT32& GetFlags() { return m_State; }
47 TBOOL IsCreated() const { return m_State & State_Created; }
48 TBOOL IsActive() const { return m_State & State_Active; }
49 TBOOL IsCreatedAndActive() const { return ( m_State & ( State_Created | State_Active ) ) == ( State_Created | State_Active ); }
50 TBOOL IsDying() const { return m_State & State_Dying; }
51
52private:
53 TUINT32 m_State;
54};
55
#define BITFLAG(x)
Definition Defines.h:10
#define TOSHI_NAMESPACE_START
Definition Defines.h:47
#define TOSHI_NAMESPACE_END
Definition Defines.h:50
#define TDECLARE_CLASS(THIS_CLASS, PARENT_CLASS)
Definition TObject.h:38
float TFLOAT
Definition Typedefs.h:4
uint32_t TUINT32
Definition Typedefs.h:13
bool TBOOL
Definition Typedefs.h:6
Definition TClass.h:8
Definition TTask.h:13
virtual void OnChildDied(TClass *a_pClass, TTask *a_pDeletedTask)
Definition TTask.cpp:98
void Activate(TBOOL activate)
Definition TTask.cpp:110
TUINT32 & GetFlags()
Definition TTask.h:46
virtual void OnDestroy()
Definition TTask.cpp:89
virtual void OnDeactivate()
Definition TTask.cpp:106
virtual ~TTask()
Definition TTask.cpp:19
virtual void OnPreDestroy()
Definition TTask.cpp:85
void SetParent(TTask *a_pAttachTo)
Definition TTask.cpp:130
virtual TBOOL Reset()
Definition TTask.cpp:60
virtual TBOOL Create()
Definition TTask.cpp:24
TBOOL IsCreatedAndActive() const
Definition TTask.h:49
TBOOL IsDying() const
Definition TTask.h:50
TTask()
Definition TTask.cpp:14
virtual TBOOL OnUpdate(TFLOAT a_fDeltaTime)
Definition TTask.cpp:80
TBOOL IsActive() const
Definition TTask.h:48
virtual void OnActivate()
Definition TTask.cpp:102
virtual TBOOL OnCreate()
Definition TTask.cpp:75
State
Definition TTask.h:21
@ State_Dying
Definition TTask.h:24
@ State_Created
Definition TTask.h:22
@ State_Active
Definition TTask.h:23
virtual TBOOL OnChildDying(TTask *child)
Definition TTask.cpp:93
TBOOL IsCreated() const
Definition TTask.h:47
virtual TBOOL CreateFailed()
Definition TTask.cpp:47
friend TScheduler
Definition TTask.h:18