1#pragma once
2
3#include "framework/seadMethodTree.h"
4#include "framework/seadTaskBase.h"
5
6namespace sead
7{
8class CalculateTask : public TaskBase
9{
10 SEAD_RTTI_OVERRIDE(CalculateTask, TaskBase)
11public:
12 explicit CalculateTask(const TaskConstructArg& arg);
13 CalculateTask(const TaskConstructArg& arg, const char* name);
14 ~CalculateTask() override;
15 void pauseCalc(bool b) override;
16 void pauseDraw(bool b) override;
17 void pauseCalcRec(bool b) override;
18 void pauseDrawRec(bool b) override;
19 void pauseCalcChild(bool b) override;
20 void pauseDrawChild(bool b) override;
21 void attachCalcImpl() override;
22 void attachDrawImpl() override;
23 void detachCalcImpl() override;
24 void detachDrawImpl() override;
25 const RuntimeTypeInfo::Interface* getCorrespondingMethodTreeMgrTypeInfo() const override;
26 MethodTreeNode* getMethodTreeNode(s32 method_type) override;
27 virtual void calc() {}
28
29protected:
30 MethodTreeNode mCalcNode{nullptr};
31};
32} // namespace sead
33