Grindstone Game Engine
v0.2.0
An open source game engine and toolkit.
Toggle main menu visibility
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
10
namespace
Grindstone::SceneManagement {
11
class
SceneManager
{
12
public
:
13
~SceneManager
();
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
}
Grindstone::SceneManagement::SceneManager
Definition
Manager.hpp:11
Grindstone::SceneManagement::Scene
Definition
Scene.hpp:21
Grindstone::Uuid
Definition
Uuid.hpp:7
sources
code
EngineCore
Scenes
Manager.hpp
Generated by
1.17.0