aboutsummaryrefslogtreecommitdiff
path: root/core/io/export_data.h
blob: dc2584984eda95910fe17319dfa16021897361b2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
#ifndef EXPORT_DATA_H
#define EXPORT_DATA_H

#include "map.h"
#include "variant.h"
#include "vector.h"
struct ExportData {

	struct Dependency {
		String path;
		String type;
	};

	Map<int, Dependency> dependencies;

	struct PropertyData {
		String name;
		Variant value;
	};

	struct ResourceData {

		String type;
		int index;
		List<PropertyData> properties;
	};

	Vector<ResourceData> resources;

	struct NodeData {

		bool text_data;
		bool instanced;
		String name;
		String type;
		String instance;
		//int info
		int owner_int; //depending type
		int parent_int;
		bool instance_is_placeholder;

		//text info
		NodePath parent;
		NodePath owner;
		String instance_placeholder;

		Vector<String> groups;
		List<PropertyData> properties;

		NodeData() {
			parent_int = 0;
			owner_int = 0;
			text_data = true;
			instanced = false;
		}
	};

	Vector<NodeData> nodes;

	struct Connection {

		bool text_data;

		int from_int;
		int to_int;

		NodePath from;
		NodePath to;
		String signal;
		String method;
		Array binds;
		int flags;

		Connection() { text_data = true; }
	};

	Vector<Connection> connections;
	Vector<NodePath> editables;

	Array node_paths; //for integer packed data
	Variant base_scene;
};

#endif // EXPORT_DATA_H