Grindstone Game Engine v0.2.0
An open source game engine and toolkit.
Loading...
Searching...
No Matches
Manager.hpp
1#pragma once
2
3#include <string>
4#include <map>
5
6#include <Common/ResourcePipeline/Uuid.hpp>
7
8#include "Scene.hpp"
9
10namespace Grindstone::SceneManagement {
12 public:
14
15 void LoadDefaultScene();
16
17 virtual void AddPostLoadProcess(std::function<void(Scene*)>);
18 virtual void SaveScene(const std::filesystem::path& path, Scene* scene);
19 virtual Scene* LoadSceneAdditively(Grindstone::Uuid);
20 virtual Scene* LoadScene(Grindstone::Uuid);
21 virtual Scene* CreateEmptyScene(const char* name);
22 virtual Scene* CreateEmptySceneAdditively(const char* name);
23 virtual void CloseActiveScenes();
24 std::map<Grindstone::Uuid, Scene*> scenes;
25 private:
26
27 void ProcessSceneAfterLoading(Scene* scene);
28 std::vector<std::function<void(Scene*)>> postLoadProcesses;
29 };
30}
Definition Scene.hpp:21
Definition Uuid.hpp:6