1#pragma once
2
3#include <gfx/seadCamera.h>
4
5namespace al {
6class ByamlIter;
7
8class CameraAngleSwingInfo {
9public:
10 CameraAngleSwingInfo();
11
12 void load(const ByamlIter& iter);
13 void update(const sead::Vector2f& stickInput, f32 stickSensitivity);
14 void makeLookAtCamera(sead::LookAtCamera* camera) const;
15
16 bool isInvalidSwing() const { return mIsInvalidSwing; }
17
18 void setCurrentAngle(sead::Vector2f currentAngle) { mCurrentAngle = currentAngle; }
19
20 // all of them are default-initialized in the constructor, but some can't be inlined here
21private:
22 bool mIsInvalidSwing = false;
23 sead::Vector2f mCurrentAngle;
24 f32 mMaxSwingDegreeH = 15.0f;
25 f32 mMaxSwingDegreeV = 15.0f;
26 // unknown purpose at the moment, only seem to be read
27 f32 _14;
28 f32 _18;
29};
30
31} // namespace al
32