1#pragma once
2
3#include <math/seadVector.h>
4
5#include "Library/Camera/CameraTargetBase.h"
6
7namespace al {
8class LiveActor;
9
10class ActorCameraTarget : public CameraTargetBase {
11public:
12 ActorCameraTarget(const LiveActor* actor, f32 yOffset, const sead::Vector3f* localOffset);
13
14 const char* getTargetName() const override;
15 void calcTrans(sead::Vector3f* trans) const override;
16 void calcSide(sead::Vector3f* side) const override;
17 void calcUp(sead::Vector3f* up) const override;
18 void calcFront(sead::Vector3f* front) const override;
19 void calcGravity(sead::Vector3f* gravity) const override;
20 void calcVelocity(sead::Vector3f* velocity) const override;
21 bool isCollideGround() const override;
22 bool isInWater() const override;
23
24private:
25 const LiveActor* mActor;
26 const sead::Vector3f* mLocalOffset;
27 f32 mYOffset;
28};
29
30static_assert(sizeof(ActorCameraTarget) == 0x28);
31
32} // namespace al
33