1#pragma once
2
3#include <basis/seadTypes.h>
4
5namespace al {
6class AudioDirector;
7class AreaObjDirector;
8struct CameraFlagCtrl;
9class CameraInputHolder;
10class CameraTargetCollideInfoHolder;
11class CameraTargetHolder;
12class CameraRailHolder;
13class CameraRequestParamHolder;
14class CollisionDirector;
15struct SnapShotCameraSceneInfo;
16
17struct CameraPoserSceneInfo {
18 CameraPoserSceneInfo();
19 void init(AreaObjDirector* areaObj, CollisionDirector* collision, const AudioDirector* audio);
20 void registerCameraRailHolder(CameraRailHolder* railHolder);
21
22 f32 sceneFovyDegree = 35.0f;
23 AreaObjDirector* areaObjDirector = nullptr;
24 CollisionDirector* collisionDirector = nullptr;
25 const AudioDirector* audioDirector = nullptr;
26 CameraInputHolder* inputHolder = nullptr;
27 CameraTargetHolder* targetHolder = nullptr;
28 CameraFlagCtrl* flagCtrl = nullptr;
29 CameraRequestParamHolder* requestParamHolder = nullptr;
30 CameraTargetCollideInfoHolder* targetCollideInfoHolder = nullptr;
31 SnapShotCameraSceneInfo* snapShotCameraSceneInfo = nullptr;
32 CameraRailHolder** railHolders = nullptr;
33 s32 railHolderNum = 0;
34};
35
36} // namespace al
37