1#pragma once
2
3#include <math/seadVector.h>
4
5namespace al {
6class ActionPadAndCameraInfo;
7class ActorResource;
8class LiveActor;
9
10class ActionPadAndCameraCtrl {
11public:
12 static ActionPadAndCameraCtrl* tryCreate(const LiveActor*, const ActorResource*,
13 const sead::Vector3f*, const char*);
14
15 ActionPadAndCameraCtrl(const LiveActor*, const ActorResource*, const sead::Vector3f*,
16 const char*);
17 void notifyActorDead();
18 void notifyActorEndClipped();
19 void notifyActorStartClipped();
20 void startAction(const char*);
21 void startPadRumble(const ActionPadAndCameraInfo*);
22 void stopPadRumble(const ActionPadAndCameraInfo*);
23 void update(f32, f32, f32, bool);
24 void updateCamera(const ActionPadAndCameraInfo*);
25 void updateCameraLoopShake(const ActionPadAndCameraInfo*);
26 void updatePadRumbleSourcePos(ActionPadAndCameraInfo*);
27};
28} // namespace al
29