1#pragma once
2
3#include "Library/Layout/LayoutSceneInfo.h"
4
5namespace agl {
6class DrawContext;
7}
8
9namespace nn::ui2d {
10class DrawInfo;
11}
12
13namespace al {
14class ExecuteDirector;
15class EffectSystemInfo;
16class AudioDirector;
17class LayoutSystem;
18class LayoutActor;
19class OcclusionCullingJudge;
20
21class LayoutInitInfo : public LayoutSceneInfo {
22public:
23 void init(ExecuteDirector*, const EffectSystemInfo*, SceneObjHolder*, const AudioDirector*,
24 CameraDirector*, const LayoutSystem*, const MessageSystem*, const GamePadSystem*,
25 PadRumbleDirector*);
26
27 MessageSystem* getMessageSystem() const;
28
29 void setDrawContext(agl::DrawContext* drawContext) { mDrawContext = drawContext; }
30
31 void setDrawInfo(nn::ui2d::DrawInfo* drawInfo) { mDrawInfo = drawInfo; }
32
33 void setOcclusionCullingJudge(OcclusionCullingJudge* judge) { mOcclusionCullingJudge = judge; }
34
35private:
36 agl::DrawContext* mDrawContext;
37 nn::ui2d::DrawInfo* mDrawInfo;
38 OcclusionCullingJudge* mOcclusionCullingJudge;
39 ExecuteDirector* mExecuteDirector;
40 EffectSystemInfo* mEffectSysInfo;
41 AudioDirector* mAudioDirector;
42 LayoutSystem* mLayoutSystem;
43};
44
45void initLayoutActor(LayoutActor*, const LayoutInitInfo&, const char*, const char*);
46void initLayoutActorLocalized(LayoutActor*, const LayoutInitInfo&, const char*, const char*);
47void initLayoutActorUseOtherMessage(LayoutActor*, const LayoutInitInfo&, const char*, const char*,
48 const char*);
49void initLayoutTextPaneAnimator(LayoutActor*, const char*);
50void initLayoutTextPaneAnimatorWithShadow(LayoutActor*, const char*);
51void initLayoutPartsActor(LayoutActor*, LayoutActor*, const LayoutInitInfo&, const char*,
52 const char*);
53void initLayoutPartsActorLocalized(LayoutActor*, LayoutActor*, const LayoutInitInfo&, const char*,
54 const char*);
55
56} // namespace al
57