Grindstone Game Engine
v0.2.0
An open source game engine and toolkit.
Toggle main menu visibility
Loading...
Searching...
No Matches
SceneLoaderJson.hpp
1
#pragma once
2
3
#include <string>
4
#include <map>
5
#include <entt/entt.hpp>
6
#include <rapidjson/document.h>
7
8
#include <Common/ResourcePipeline/Uuid.hpp>
9
10
#include "../ECS/Entity.hpp"
11
#include "../Reflection/TypeDescriptorStruct.hpp"
12
13
namespace
Grindstone {
14
namespace
SceneManagement {
15
class
Scene
;
16
17
class
SceneLoaderJson {
18
public
:
19
SceneLoaderJson(
Scene
*,
Grindstone::Uuid
uuid);
20
private
:
21
bool
Load(
Grindstone::Uuid
uuid);
22
void
ProcessMeta();
23
void
ProcessEntities();
24
25
void
ProcessEntity(rapidjson::Value& entity);
26
void
ProcessComponent(
ECS::Entity
entity, rapidjson::Value& component);
27
void
ProcessComponentParameter(
28
ECS::Entity
entity,
29
void
* componentPtr,
30
Reflection::TypeDescriptor_Struct
& reflectionData,
31
const
char
* parameterKey,
32
rapidjson::Value& parameter
33
);
34
private
:
35
Scene
* scene;
36
rapidjson::Document document;
37
Grindstone::Uuid
uuid;
38
};
39
}
40
}
Grindstone::ECS::Entity
Definition
Entity.hpp:15
Grindstone::SceneManagement::Scene
Definition
Scene.hpp:21
Grindstone::Uuid
Definition
Uuid.hpp:7
Grindstone::Reflection::TypeDescriptor_Struct
Definition
TypeDescriptorStruct.hpp:9
sources
code
EngineCore
Scenes
SceneLoaderJson.hpp
Generated by
1.17.0