1#pragma once
2
3#include "Library/LiveActor/ActorSceneInfo.h"
4
5namespace al {
6class ActorFactory;
7class ActorResourceHolder;
8class AreaObjDirector;
9class AudioDirector;
10class CameraDirector;
11class ClippingDirector;
12class CollisionDirector;
13class DemoDirector;
14class EffectSystemInfo;
15class ExecuteDirector;
16class GameDataHolderBase;
17class GamePadSystem;
18class GraphicsSystemInfo;
19class GravityHolder;
20class HitSensorDirector;
21class ItemDirectorBase;
22class LayoutInitInfo;
23class LiveActor;
24class LiveActorGroup;
25struct ModelDrawBufferCounter;
26class ModelGroup;
27class NatureDirector;
28class PadRumbleDirector;
29class PlacementInfo;
30class PlayerHolder;
31class SceneMsgCtrl;
32class SceneObjHolder;
33class SceneStopCtrl;
34class ScreenCoverCtrl;
35class ScreenPointDirector;
36class ShadowDirector;
37class StageSwitchDirector;
38class ViewIdHolder;
39
40struct ActorInitInfo {
41 ActorInitInfo();
42
43 void initNew(const PlacementInfo*, const LayoutInitInfo*, LiveActorGroup*, const ActorFactory*,
44 ActorResourceHolder*, AreaObjDirector*, AudioDirector*, CameraDirector*,
45 ClippingDirector*, CollisionDirector*, DemoDirector*, EffectSystemInfo*,
46 ExecuteDirector*, GameDataHolderBase*, GravityHolder*, HitSensorDirector*,
47 ItemDirectorBase*, NatureDirector*, const GamePadSystem*, PadRumbleDirector*,
48 PlayerHolder*, SceneObjHolder*, SceneMsgCtrl*, SceneStopCtrl*, ScreenCoverCtrl*,
49 ScreenPointDirector*, ShadowDirector*, StageSwitchDirector*, ModelGroup*,
50 GraphicsSystemInfo*, ModelDrawBufferCounter*, LiveActorGroup*);
51 void initViewIdSelf(const PlacementInfo*, const ActorInitInfo&);
52 void copyHostInfo(const ActorInitInfo&, const PlacementInfo*);
53 void initViewIdHost(const PlacementInfo*, const ActorInitInfo&);
54 void initViewIdHostActor(const ActorInitInfo&, const LiveActor*);
55 void initNoViewId(const PlacementInfo*, const ActorInitInfo&);
56
57 LiveActorGroup* kitDrawingGroup = nullptr;
58 const PlacementInfo* placementInfo = nullptr;
59 const LayoutInitInfo* layoutInitInfo = nullptr;
60 ActorSceneInfo actorSceneInfo = {};
61 LiveActorGroup* allActorsGroup = nullptr;
62 const ActorFactory* actorFactory = nullptr;
63 ActorResourceHolder* actorResourceHolder = nullptr;
64 AudioDirector* audioDirector = nullptr;
65 EffectSystemInfo* effectSystemInfo = nullptr;
66 ExecuteDirector* executeDirector = nullptr;
67 HitSensorDirector* hitSensorDirector = nullptr;
68 ScreenPointDirector* screenPointDirector = nullptr;
69 StageSwitchDirector* stageSwitchDirector = nullptr;
70 ViewIdHolder* viewIdHolder = nullptr;
71};
72} // namespace al
73