OdysseyDecomp/lib/al/Project/Scene/SceneCreator.h
2024-06-13 21:10:45 +02:00

37 lines
1,003 B
C++

#pragma once
#include <heap/seadHeap.h>
namespace alSceneFunction {
class SceneFactory;
}
namespace al {
struct GameSystemInfo;
class GameDataHolderBase;
class ScreenCaptureExecutor;
class InitializeThread;
class AudioDirector;
class Scene;
class SceneCreator {
public:
SceneCreator(const GameSystemInfo*, GameDataHolderBase*, ScreenCaptureExecutor*,
alSceneFunction::SceneFactory*, AudioDirector*);
void createScene(const char*, const char*, s32, const char*, bool, s32);
void setSceneAndThreadInit(Scene*, const char*, s32, const char*, s32, sead::Heap*);
void setSceneAndInit(Scene*, const char*, s32, const char*);
bool tryEndInitThread();
bool isExistInitThread();
private:
GameSystemInfo* mGameSystemInfo;
GameDataHolderBase* mGameDataHolder;
ScreenCaptureExecutor* mScreenCaptureExecutor;
alSceneFunction::SceneFactory* mSceneFactory;
InitializeThread* mInitializeThread;
AudioDirector* mAudioDirector;
};
} // namespace al