#ifndef SCENE_SERIALIZER_HPP
#define SCENE_SERIALIZER_HPP

#include "open_engine/ref_scope.hpp"
#include "open_engine/scene/scene.hpp"

namespace OpenEngine {

    class SceneSerializer
    {
        public:
            SceneSerializer(const Ref<Scene>& scene);

            void Serialize(const std::string& file_path);
            void SerializeRuntime(const std::string& file_path);

            bool Deserialize(const std::string& file_path);
            bool DeserializeRuntime(const std::string& file_path);

        private:
            Ref<Scene> context;
    };
}

#endif // SCENE_SERIALIZER_HPP
