GDevelop Core
Core library for developing platforms and tools compatible with GDevelop.
ObjectAssetSerializer.h
1 /*
2  * GDevelop Core
3  * Copyright 2008-2023 Florian Rival ([email protected]). All rights
4  * reserved. This project is released under the MIT License.
5  */
6 #pragma once
7 #include <map>
8 #include <vector>
9 
10 #include "GDCore/String.h"
11 
12 namespace gd {
13 class Object;
14 class ExtensionDependency;
15 class PropertyDescriptor;
16 class Project;
17 class Layout;
18 class ArbitraryResourceWorker;
19 class InitialInstance;
20 class SerializerElement;
21 class EffectsContainer;
22 class AbstractFileSystem;
23 } // namespace gd
24 
25 namespace gd {
26 
32 class GD_CORE_API ObjectAssetSerializer {
33 public:
44  static void
45  SerializeTo(gd::Project &project, const gd::Object &object,
46  const gd::String &objectFullName, SerializerElement &element,
47  std::vector<gd::String> &usedResourceNames);
48 
50 
51 private:
53 
54  static gd::String GetObjectExtensionName(const gd::Object &object);
55 };
56 
57 } // namespace gd
Serialize objects into an asset for the store.
Definition: ObjectAssetSerializer.h:32
Represent an object of a platform.
Definition: Object.h:37
Base class representing a project (game), including all resources, scenes, objects,...
Definition: Project.h:50
A generic container that can represent a value ( containing a string, double, bool or int),...
Definition: SerializerElement.h:37
String represents an UTF8 encoded string.
Definition: String.h:31
Definition: CommonTools.h:24