1#pragma once
2
3#include <basis/seadTypes.h>
4
5namespace al {
6
7class CameraRequestParamHolder;
8class CameraSwitchRequester;
9class SpecialCameraHolder;
10
11class SceneCameraViewCtrl {
12public:
13 SceneCameraViewCtrl();
14
15 const CameraSwitchRequester* getSwitchRequester() const { return mSwitchRequester; }
16
17 void resetViewName() { mViewName = nullptr; }
18
19private:
20 CameraSwitchRequester* mSwitchRequester = nullptr;
21 const char* mViewName = "Start";
22 void* _10 = nullptr;
23};
24
25static_assert(sizeof(SceneCameraViewCtrl) == 0x18);
26
27class SceneCameraCtrl {
28public:
29 SceneCameraCtrl();
30 void init(s32 viewNum);
31
32 SceneCameraViewCtrl* getSceneViewAt(s32 idx) const { return &mViewArray[idx]; }
33
34 CameraRequestParamHolder* getRequestParamHolder() const { return mRequestParamHolder; }
35
36private:
37 s32 mViewNum = 0;
38 SceneCameraViewCtrl* mViewArray = nullptr;
39 CameraRequestParamHolder* mRequestParamHolder = nullptr;
40 SpecialCameraHolder* mSpecialCameraHolder = nullptr;
41};
42
43static_assert(sizeof(SceneCameraCtrl) == 0x20);
44
45} // namespace al
46