1#pragma once
2
3#include <basis/seadTypes.h>
4
5namespace al {
6class LiveActor;
7
8class ExecuteRequestInfo {
9public:
10 ExecuteRequestInfo();
11
12private:
13 u64 _0;
14};
15
16static_assert(sizeof(ExecuteRequestInfo) == 0x8);
17
18class ExecuteRequestTable {
19public:
20 ExecuteRequestTable(s32 maxSize);
21
22private:
23 s32 mCount;
24 s32 mMaxSize;
25 LiveActor** mRequests;
26};
27
28static_assert(sizeof(ExecuteRequestTable) == 0x10);
29
30class ExecuteRequestKeeper {
31public:
32 enum Request : s32 {
33 Request_Movement = 0x0,
34 Request_RemoveFromMovement = 0x1,
35 Request_Draw = 0x2,
36 Request_RemoveFromDraw = 0x3
37 };
38
39 ExecuteRequestKeeper(s32 maxSize);
40
41 void executeRequestActorMovementAllOn();
42 void executeRequestActorMovementAllOff();
43 void executeRequestActorDrawAllOn();
44 void executeRequestActorDrawAllOff();
45 void request(LiveActor* actor, Request requestType);
46
47private:
48 ExecuteRequestTable* mMovementOn;
49 ExecuteRequestTable* mMovementOff;
50 ExecuteRequestTable* mDrawOn;
51 ExecuteRequestTable* mDrawOff;
52};
53
54static_assert(sizeof(ExecuteRequestKeeper) == 0x20);
55
56} // namespace al
57