2#ifndef LIBSBX_SCENES_SCENE_SERIALIZER_HPP_
3#define LIBSBX_SCENES_SCENE_SERIALIZER_HPP_
8#include <yaml-cpp/yaml.h>
10#include <libsbx/math/uuid.hpp>
12#include <libsbx/scenes/node.hpp>
13#include <libsbx/scenes/scene_graph.hpp>
14#include <libsbx/scenes/asset_registry.hpp>
15#include <libsbx/scenes/component_io.hpp>
16#include <libsbx/scenes/asset_io.hpp>
18namespace sbx::scenes {
32 _registry{registry} { }
34 auto save(
const std::filesystem::path& path,
const std::string& name,
scene_graph& graph,
const scenes::node
camera) -> void;
40 auto _save_assets(YAML::Emitter& emitter) -> void;
42 auto _save_node(YAML::Emitter& emitter,
scene_graph& graph,
const scenes::node
node) -> void;
44 auto _save_components(YAML::Emitter& emitter,
scene_graph& graph,
const scenes::node
node) -> void;
46 auto _load_assets(
const YAML::Node& assets_node) -> void;
48 auto _load_asset_category(
const std::string& category,
const YAML::Node& entries) -> void;
50 auto _load_nodes(
const YAML::Node& nodes_node,
scene_graph& graph) -> void;
Definition: asset_io.hpp:17
Definition: asset_registry.hpp:81
Definition: camera.hpp:96
Definition: component_io.hpp:27
Definition: scene_graph.hpp:32
Definition: scene_serializer.hpp:25
Definition: component_io.hpp:19
Definition: scene_serializer.hpp:20