1#pragma once
2
3#include <basis/seadTypes.h>
4#include <container/seadPtrArray.h>
5#include <prim/seadSafeString.h>
6
7namespace al {
8struct ActorInitInfo;
9class SkyParam;
10class Sky;
11class ParamRequestInterp;
12
13class SkyDirector {
14public:
15 SkyDirector();
16
17 void initProjectResource();
18 void init(const ActorInitInfo&);
19 void endInit();
20 void clearRequest();
21 void update();
22 SkyParam* getCurrentParam() const;
23 Sky* tryGetSky(const char*) const;
24 bool tryRegistAndCreateSky(const char*);
25 bool requestParam(s32, s32, const SkyParam&);
26 f32 getCurrentStarIntensity() const;
27 Sky* tryGetCurrentSky() const;
28
29private:
30 ParamRequestInterp* mParamRequestInterp;
31 void* _8[1];
32 sead::PtrArray<Sky> _10;
33 void* _20[2];
34 sead::FixedSafeString<64> _30;
35};
36
37static_assert(sizeof(SkyDirector) == 0x88);
38
39} // namespace al
40