sead::ControllerMgr class

Base classes

class CalculateTask

Public types

struct Parameter
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

ControllerMgr()
ControllerMgr(const TaskConstructArg& arg) explicit
~ControllerMgr() override

Public functions

void prepare() override
void calc() override
void initialize(s32 controller_max, Heap* heap)
void finalize()
void initializeDefault(Heap* heap)
void finalizeDefault()
auto getControllerByOrder(ControllerDefine::ControllerId id, s32 index) const -> Controller*
auto getControlDevice(ControllerDefine::DeviceId id) const -> ControlDevice*
auto getControllerAddon(s32 index, ControllerDefine::AddonId id) const -> ControllerAddon*
auto getControllerAddonByOrder(s32 controller_index, ControllerDefine::AddonId addon_id, int addon_index) const -> ControllerAddon*
template<typename T>
auto getControllerByOrderAs(s32 index) const -> T
template<typename T>
auto getControlDeviceAs() const -> T
template<typename T>
auto getControllerAddonAs(s32 index) const -> T
auto findControllerPort(const Controller* controller) const -> s32
auto getFramework() const -> DelegateThread*
auto getController(int port) -> Controller*
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 enterCommon() virtual
void enter() virtual
void exit() virtual
void onEvent(const TaskEvent&) virtual
void onDestroy() virtual
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
TaskBase* mData
TreeNode* mParent
TreeNode* mChild
TreeNode* mNext
TreeNode* mPrev

Enum documentation

enum sead::ControllerMgr::State

enum sead::ControllerMgr::Tag

enum class sead::ControllerMgr::HeapNullOption

Typedef documentation

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

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

Function documentation

static u32 sead::ControllerMgr::getListNodeOffset()

void sead::ControllerMgr::pauseCalc(bool b) override

void sead::ControllerMgr::pauseDraw(bool b) override

void sead::ControllerMgr::pauseCalcRec(bool b) override

void sead::ControllerMgr::pauseDrawRec(bool b) override

void sead::ControllerMgr::pauseCalcChild(bool b) override

void sead::ControllerMgr::pauseDrawChild(bool b) override

void sead::ControllerMgr::attachCalcImpl() override

void sead::ControllerMgr::attachDrawImpl() override

void sead::ControllerMgr::detachCalcImpl() override

void sead::ControllerMgr::detachDrawImpl() override

MethodTreeNode* sead::ControllerMgr::getMethodTreeNode(s32 method_type) override

void sead::ControllerMgr::enterCommon() virtual

void sead::ControllerMgr::enter() virtual

void sead::ControllerMgr::exit() virtual

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

void sead::ControllerMgr::onDestroy() virtual

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

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

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

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

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

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

TTreeNode* sead::ControllerMgr::findRoot()

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

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

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

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

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

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

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

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

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

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

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

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

void sead::ControllerMgr::clearLinks()

s32 sead::ControllerMgr::countChildren() const

void sead::ControllerMgr::detachAll()

void sead::ControllerMgr::detachSubTree()

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

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

void sead::ControllerMgr::clearChildLinksRecursively_() protected

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

Variable documentation

TaskParameter* sead::ControllerMgr::mParameter

BitFlag32 sead::ControllerMgr::mInternalFlag

ListNode sead::ControllerMgr::mTaskListNode

HeapArray sead::ControllerMgr::mHeapArray

TaskMgr* sead::ControllerMgr::mTaskMgr

State sead::ControllerMgr::mState

Tag sead::ControllerMgr::mTag

TaskClassID sead::ControllerMgr::mClassID

MethodTreeNode sead::ControllerMgr::mCalcNode protected

TaskBase* sead::ControllerMgr::mData protected

TreeNode* sead::ControllerMgr::mParent protected

TreeNode* sead::ControllerMgr::mChild protected

TreeNode* sead::ControllerMgr::mNext protected

TreeNode* sead::ControllerMgr::mPrev protected