LkEngine 0.1.2
 
Loading...
Searching...
No Matches
MeshSerializer.h
1#pragma once
2
4#include "LkEngine/Core/LObject/ObjectPtr.h"
5
6#include "AssetSerializer.h"
7
8
9namespace LkEngine {
10
11 class LMesh;
12 class LStaticMesh;
13
18 {
19 public:
21 {
23 }
24
25 virtual void Serialize(const FAssetMetadata& Metadata, const TObjectPtr<LAsset>& Asset) const override;
26 virtual bool TryLoadData(const FAssetMetadata& Metadata, TObjectPtr<LAsset>& Asset) const override;
27
28 private:
30 };
31
36 {
37 public:
38 using MeshType = LMesh;
39
41 {
43 }
44
45 virtual void Serialize(const FAssetMetadata& Metadata, const TObjectPtr<LAsset>& Asset) const override;
46 virtual bool TryLoadData(const FAssetMetadata& Metadata, TObjectPtr<LAsset>& Asset) const override;
47 private:
48 std::string SerializeToYaml(TObjectPtr<LMesh> Mesh) const;
49 bool DeserializeFromYaml(const std::string& YamlString, TObjectPtr<LMesh>& TargetMesh) const;
50
51 private:
53 };
54
59 {
60 public:
61 using MeshType = LStaticMesh;
62
64 {
66 }
67
68 virtual void Serialize(const FAssetMetadata& Metadata, const TObjectPtr<LAsset>& Asset) const override;
69 virtual bool TryLoadData(const FAssetMetadata& Metadata, TObjectPtr<LAsset>& Asset) const override;
70 private:
71 std::string SerializeToYaml(TObjectPtr<LStaticMesh> Mesh) const;
72 bool DeserializeFromYaml(const std::string& YamlString, TObjectPtr<LStaticMesh>& TargetMesh) const;
73
74 private:
76 };
77
78}
79
LObject implementation.
Definition AssetSerializer.h:18
Definition MeshSerializer.h:36
Definition MeshSerializer.h:18
Definition Mesh.h:386
Definition Object.h:46
Definition MeshSerializer.h:59
Definition Mesh.h:446
Definition ObjectPtr.h:102
#define LCLASS(Class)
Definition CoreMacros.h:226
#define LOBJECT_REGISTER(...)
Definition CoreMacros.h:297
Definition Asset.h:11
Definition Asset.h:92