prime/include/MetroidPrime/ScriptObjects/CScriptCameraPitchVolume.hpp

39 lines
1.3 KiB
C++
Raw Normal View History

#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 17:01:01 +00:00
void Accept(IVisitor& visitor) override;
void Think(float, CStateManager&) override;
rstl::optional_object< CAABox > GetTouchBounds() const override;
void Touch(CActor&, CStateManager&) override;
// 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