1#pragma once
2
3#include <basis/seadTypes.h>
4
5namespace al {
6class IUseCamera;
7
8class CameraRequestParamHolder {
9public:
10 CameraRequestParamHolder();
11
12 void resetPlayerType();
13
14 bool isPlayerTypeFlyer() const;
15 void onPlayerTypeFlyer(const IUseCamera* camera, const char* name);
16
17 bool isPlayerTypeHighSpeedMove() const;
18 void onPlayerTypeHighSpeedMove(const IUseCamera* camera, const char* name);
19
20 bool isPlayerTypeHighJump() const;
21 void onPlayerTypeHighJump(const IUseCamera* camera, const char* name);
22
23 bool isPlayerTypeNotTouchGround() const;
24 void onPlayerTypeNotTouchGround(const IUseCamera* camera, const char* name);
25
26 void onRideObj(const IUseCamera* camera, const char* name);
27 void offRideObj(const IUseCamera* camera, const char* name);
28
29 // getters
30 s32 getStickSensitivityLevel() const { return mStickSensitivityLevel; }
31
32 void setStickSensitivityLevel(s32 level) { mStickSensitivityLevel = level; }
33
34 s32 getGyroSensitivityLevel() const { return mGyroSensitivityLevel; }
35
36 void setGyroSensitivityLevel(s32 level) { mGyroSensitivityLevel = level; }
37
38private:
39 s32 mStickSensitivityLevel = 0;
40 s32 mGyroSensitivityLevel = 0;
41 bool mIsCurrFlyer = false;
42 bool mIsPrevFlyer = false;
43 const IUseCamera* mFlyerCamera = nullptr;
44 bool mIsCurrHighSpeedMove = false;
45 bool mIsPrevHighSpeedMove = false;
46 const IUseCamera* mHighSpeedMoveCamera = nullptr;
47 bool mIsCurrHighJump = false;
48 bool mIsPrevHighJump = false;
49 const IUseCamera* mHighJumpCamera = nullptr;
50 bool mIsCurrNotTouchGround = false;
51 bool mIsPrevNotTouchGround = false;
52 const IUseCamera* mNotTouchGroundCamera = nullptr;
53 bool mIsCurrRideObj = false;
54 bool mIsPrevRideObj = false;
55 const IUseCamera* mRideObjCamera = nullptr;
56 void* _58 = nullptr;
57 void* _60 = nullptr;
58};
59
60} // namespace al
61