LkEngine 0.1.2
 
Loading...
Searching...
No Matches
Serializer.h
1#pragma once
2
4
5#include "SerializationMacros.h"
6
7namespace LkEngine {
8
9 enum class ESerializeFormat : uint8_t
10 {
11 None = 0,
12 Yaml,
13 };
14
15 namespace Enum
16 {
17 FORCEINLINE static constexpr const char* ToString(const ESerializeFormat Format)
18 {
19 switch (Format)
20 {
21 case ESerializeFormat::None: return "None";
22 case ESerializeFormat::Yaml: return "Yaml";
23 }
24
25 LK_CORE_VERIFY(false);
26 return nullptr;
27 }
28
29 }
30
31
36 {
37 public:
38 virtual ~ISerializable() = default;
39
40 virtual void SerializeToYaml(YAML::Emitter& Out) const = 0;
41 virtual void DeserializeFromYaml(const YAML::Node& Data) = 0;
42 };
43
44}
LObject implementation.
Definition Serializer.h:36
Definition Asset.h:11