1#pragma once
2
3#include <basis/seadTypes.h>
4
5namespace al {
6class ExecuteRequestKeeper;
7class ExecutorActorExecuteBase;
8class ModelDrawerBase;
9
10class ActorExecuteInfo {
11public:
12 ActorExecuteInfo(ExecuteRequestKeeper* keeper);
13 void addUpdater(ExecutorActorExecuteBase* updater);
14 void addDrawer(ModelDrawerBase* drawer);
15
16 ExecuteRequestKeeper* getRequestKeeper() const { return mRequestKeeper; }
17
18 ModelDrawerBase* getDrawer(s32 idx) const { return mDrawers[idx]; }
19
20 s32 getDrawerCount() const { return mDrawerCount; }
21
22private:
23 ExecuteRequestKeeper* mRequestKeeper = nullptr;
24 s32 mUpdaterCount = 0;
25 ExecutorActorExecuteBase* mUpdaters[4] = {};
26 s32 mDrawerCount = 0;
27 ModelDrawerBase* mDrawers[11] = {};
28};
29
30static_assert(sizeof(ActorExecuteInfo) == 0x90);
31
32} // namespace al
33