17 #include <ht_platform.h> 18 #include <ht_noncopy.h> 20 #include <ht_scene_resource.h> 25 #include <unordered_set> 26 #include <unordered_map> 36 using JSON = Core::JSON;
44 class HT_API
Scene :
public Core::INonCopy
67 std::string Name()
const;
74 const Core::Guid& GUID()
const;
82 bool LoadFromHandle(Resource::SceneHandle sceneHandle);
101 static Scene* instance;
103 Scene(
void) =
default;
104 virtual ~
Scene(
void) =
default;
117 bool ParseScene(
const JSON& obj);
126 bool ParseGameObject(
const JSON& obj,
GameObject*& out);
135 void ParseChildGameObjects(
const Core::Guid&
id, std::unordered_map<Core::Guid, GameObject*>& guid_to_obj, std::unordered_map<Core::Guid, JSON>& guid_to_json);
146 Transform ParseTransform(
const JSON& obj);
157 bool ParseComponent(
const JSON& obj,
GameObject& out);
161 std::vector<GameObject*> m_gameObjects;
162 std::vector<GameObject*> m_prefabs;
Hatchit Engine Copyright(c) 2015-2016 Third-Degree.
Definition: ht_glfwkeyboard.h:21
Defines the singleton scene manager.
Definition: ht_scenemanager_singleton.h:32
Hatchit Engine Copyright(c) 2015-2016 Third-Degree.
Definition: ht_gameobject.h:48
Defines a scene.
Definition: ht_scene.h:44