LkEngine 0.1.2
 
Loading...
Searching...
No Matches
ApplicationSerializer.h
Go to the documentation of this file.
1
5#pragma once
6
8#include "LkEngine/Core/LObject/ObjectPtr.h"
9#include "LkEngine/Core/ApplicationConfig.h"
10
11#include "LkEngine/Serialization/FileStream.h"
12#include "LkEngine/Serialization/Serializer.h"
13
14namespace LkEngine {
15
16 class LApplication;
17
22 {
23 public:
25 LApplicationSerializer(LApplication* InApplication, const std::filesystem::path& InConfigFile);
26 LApplicationSerializer() = delete;
27 ~LApplicationSerializer() = default;
28
29 void Serialize(const std::filesystem::path& InConfigFile);
30 bool Deserialize(const std::filesystem::path& InConfigFile, FApplicationSpecification& Spec);
31
32 private:
33 void SerializeToYaml(YAML::Emitter& Out);
34 bool DeserializeFromYaml(const std::string& YamlString, FApplicationSpecification& Spec);
35
36 private:
37 std::filesystem::path ConfigFile{};
38
39 LApplication* Application{};
40 };
41
42}
LObject implementation.
Definition ApplicationSerializer.h:22
Definition Application.h:77
Definition Asset.h:11
Definition ApplicationConfig.h:10