sead::Task class

Base classes

class TaskBase

Derived classes

class RootTask

Public types

enum State { cCreated = 0, cPrepare = 1, cPrepareDone = 2, cSleep = 3, cRunning = 4, cDying = 5, cDestroyable = 6, cDead = 7 }
enum Tag { cSystem = 0, cApp = 1 }
using ListNode = TListNode<TaskBase*>
using List = TList<TaskBase*>
enum class HeapNullOption { AlwaysUseSpecifiedHeap = 0, UseSpecifiedOrContainHeap = 1, DoNotAppendDisposerIfNoHeapSpecified = 2, UseSpecifiedOrCurrentHeap = 3 }

Public static functions

static auto getListNodeOffset() -> u32

Constructors, destructors, conversion operators

Task(const TaskConstructArg& arg) explicit
Task(const TaskConstructArg& arg, const char* name)
~Task() override

Public functions

void pauseCalc(bool b) override
void pauseDraw(bool b) override
void pauseCalcRec(bool b) override
void pauseDrawRec(bool b) override
void pauseCalcChild(bool b) override
void pauseDrawChild(bool b) override
void attachCalcImpl() override
void attachDrawImpl() override
void detachCalcImpl() override
void detachDrawImpl() override
auto getCorrespondingMethodTreeMgrTypeInfo() const -> const RuntimeTypeInfo::Interface* override
auto getMethodTreeNode(s32 method_type) -> MethodTreeNode* override
void calc() virtual
void draw() virtual
void prepare() virtual
void enterCommon() virtual
void enter() virtual
void exit() virtual
void onEvent(const TaskEvent&) virtual
void onDestroy() virtual
auto getFramework() const -> DelegateThread*
auto value() -> TaskBase*&
auto value() const -> const TaskBase*&
auto parent() const -> TTreeNode*
auto child() const -> TTreeNode*
auto next() const -> TTreeNode*
auto prev() const -> TTreeNode*
auto findRoot() -> TTreeNode*
auto findRoot() const -> const TTreeNode*
auto findRoot() const -> const TreeNode*
void insertAfterSelf(TTreeNode* node)
void insertAfterSelf(TreeNode* node)
void insertBeforeSelf(TTreeNode* node)
void insertBeforeSelf(TreeNode* node)
void pushBackChild(TTreeNode* node)
void pushBackChild(TreeNode* node)
void pushBackSibling(TTreeNode* node)
void pushBackSibling(TreeNode* node)
void pushFrontChild(TTreeNode* node)
void pushFrontChild(TreeNode* node)
void clearLinks()
auto countChildren() const -> s32
void detachAll()
void detachSubTree()
auto getName() const -> const SafeString&
void setName(const SafeString& name)

Public variables

TaskParameter* mParameter
BitFlag32 mInternalFlag
ListNode mTaskListNode
HeapArray mHeapArray
TaskMgr* mTaskMgr
State mState
Tag mTag
TaskClassID mClassID

Protected functions

void clearChildLinksRecursively_()
auto getDisposerHeap_() const -> Heap*

Protected variables

MethodTreeNode mCalcNode
MethodTreeNode mDrawNode
TaskBase* mData
TreeNode* mParent
TreeNode* mChild
TreeNode* mNext
TreeNode* mPrev

Enum documentation

enum sead::Task::State

enum sead::Task::Tag

enum class sead::Task::HeapNullOption

Typedef documentation

typedef TListNode<TaskBase*> sead::Task::ListNode

typedef TList<TaskBase*> sead::Task::List

Function documentation

static u32 sead::Task::getListNodeOffset()

void sead::Task::prepare() virtual

void sead::Task::enterCommon() virtual

void sead::Task::enter() virtual

void sead::Task::exit() virtual

void sead::Task::onEvent(const TaskEvent&) virtual

void sead::Task::onDestroy() virtual

TaskBase*& sead::Task::value()

const TaskBase*& sead::Task::value() const

TTreeNode* sead::Task::parent() const

TTreeNode* sead::Task::child() const

TTreeNode* sead::Task::next() const

TTreeNode* sead::Task::prev() const

const TTreeNode* sead::Task::findRoot() const

const TreeNode* sead::Task::findRoot() const

void sead::Task::insertAfterSelf(TTreeNode* node)

void sead::Task::insertAfterSelf(TreeNode* node)

void sead::Task::insertBeforeSelf(TTreeNode* node)

void sead::Task::insertBeforeSelf(TreeNode* node)

void sead::Task::pushBackChild(TTreeNode* node)

void sead::Task::pushBackChild(TreeNode* node)

void sead::Task::pushBackSibling(TTreeNode* node)

void sead::Task::pushBackSibling(TreeNode* node)

void sead::Task::pushFrontChild(TTreeNode* node)

void sead::Task::pushFrontChild(TreeNode* node)

void sead::Task::clearLinks()

s32 sead::Task::countChildren() const

void sead::Task::detachAll()

void sead::Task::detachSubTree()

const SafeString& sead::Task::getName() const

void sead::Task::setName(const SafeString& name)

void sead::Task::clearChildLinksRecursively_() protected

Heap* sead::Task::getDisposerHeap_() const protected

Variable documentation

State sead::Task::mState

Tag sead::Task::mTag

TaskBase* sead::Task::mData protected

TreeNode* sead::Task::mParent protected

TreeNode* sead::Task::mChild protected

TreeNode* sead::Task::mNext protected

TreeNode* sead::Task::mPrev protected