2022-11-03 22:36:16 +00:00
|
|
|
#ifndef _CSCRIPTCAMERAPITCHVOLUME
|
|
|
|
#define _CSCRIPTCAMERAPITCHVOLUME
|
|
|
|
|
|
|
|
#include "MetroidPrime/CActor.hpp"
|
|
|
|
|
|
|
|
#include "Collision/COBBox.hpp"
|
|
|
|
#include "Kyoto/Math/CRelAngle.hpp"
|
|
|
|
|
|
|
|
class CScriptCameraPitchVolume : public CActor {
|
|
|
|
public:
|
|
|
|
CScriptCameraPitchVolume(TUniqueId, bool, const rstl::string&, const CEntityInfo&,
|
|
|
|
const CVector3f&, const CTransform4f&, const CRelAngle&,
|
|
|
|
const CRelAngle&, float);
|
|
|
|
~CScriptCameraPitchVolume();
|
|
|
|
|
2023-02-06 07:21:28 +00:00
|
|
|
void Accept(IVisitor& visitor);
|
|
|
|
void Think(float, CStateManager&);
|
|
|
|
rstl::optional_object< CAABox > GetTouchBounds() const;
|
|
|
|
void Touch(CActor&, CStateManager&);
|
2022-11-03 22:36:16 +00:00
|
|
|
// float GetUpPitch() const { return x124_upPitch; }
|
|
|
|
// float GetDownPitch() const { return x128_downPitch; }
|
|
|
|
// const CVector3f& GetScale() const { return x12c_scale; }
|
|
|
|
float GetMaxInterpolationDistance() const { return x138_maxInterpDistance; }
|
|
|
|
void Entered(CStateManager&);
|
|
|
|
void Exited(CStateManager&);
|
|
|
|
|
|
|
|
private:
|
|
|
|
static const CVector3f skScaleFactor;
|
|
|
|
COBBox xe8_obbox;
|
|
|
|
CRelAngle x124_upPitch;
|
|
|
|
CRelAngle x128_downPitch;
|
|
|
|
CVector3f x12c_scale;
|
|
|
|
float x138_maxInterpDistance;
|
|
|
|
bool x13c_24_entered : 1;
|
|
|
|
bool x13c_25_occupied : 1;
|
|
|
|
};
|
|
|
|
|
|
|
|
#endif // _CSCRIPTCAMERAPITCHVOLUME
|