Grindstone Game Engine
v0.2.0
An open source game engine and toolkit.
Toggle main menu visibility
Loading...
Searching...
No Matches
Scene.hpp
1
#pragma once
2
3
#include <string>
4
#include <string_view>
5
#include <filesystem>
6
#include <map>
7
8
#include "EngineCore/ECS/ComponentRegistrar.hpp"
9
#include "EngineCore/ECS/Entity.hpp"
10
11
namespace
Grindstone {
12
class
EngineCore
;
13
14
namespace
ECS {
15
class
ComponentRegistrar
;
16
}
17
18
namespace
SceneManagement {
19
class
SceneLoaderJson
;
20
21
class
Scene
{
22
friend
SceneLoaderJson;
23
private
:
24
std::string name;
25
std::filesystem::path path;
26
public
:
27
~Scene
();
28
virtual
Grindstone::ECS::Entity
CreateEmptyEntity(entt::entity entityToUse = entt::null);
29
virtual
Grindstone::ECS::Entity
CreateEntity(entt::entity entityToUse = entt::null);
30
virtual
void
DestroyEntity(Grindstone::ECS::EntityHandle entityId);
31
virtual
void
DestroyEntity(
Grindstone::ECS::Entity
entity);
32
virtual
void
SetName(std::string_view);
33
virtual
const
std::string& GetName()
const
;
34
virtual
const
std::filesystem::path& GetPath()
const
;
35
virtual
bool
HasPath()
const
;
36
virtual
ECS::ComponentRegistrar
* GetComponentRegistrar()
const
;
37
virtual
entt::registry& GetEntityRegistry();
38
};
39
}
40
}
Grindstone::ECS::ComponentRegistrar
Definition
ComponentRegistrar.hpp:18
Grindstone::ECS::Entity
Definition
Entity.hpp:15
Grindstone::EngineCore
Definition
EngineCore.hpp:59
Grindstone::SceneManagement::SceneLoaderJson
Definition
SceneLoaderJson.hpp:17
Grindstone::SceneManagement::Scene
Definition
Scene.hpp:21
sources
code
EngineCore
Scenes
Scene.hpp
Generated by
1.17.0