ArticyXImporter
ArticyXImporter for Unreal Engine
Loading...
Searching...
No Matches
ArticyBuiltinTypes.h
1//
2// Copyright (c) 2023 articy Software GmbH & Co. KG. All rights reserved.
3//
4
5#pragma once
6
7#include "ArticyBaseObject.h"
8#include "ArticyBaseTypes.h"
9#include "ArticyObject.h"
10#include "ArticyPins.h"
11
12#include "ArticyBuiltinTypes.generated.h"
13
14UCLASS(BlueprintType)
15class ARTICYRUNTIME_API UArticyPreviewImage : public UArticyBaseObject
16{
17 GENERATED_BODY()
18
19public:
20 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Articy")
21 FArticyRect ViewBox;
22 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Articy")
23 EArticyPreviewImageViewBoxModes Mode;
24
26 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Articy")
28
29private:
30 template<typename Type, typename PropType>
31 friend struct ArticyObjectTypeInfo;
32 void InitFromJson(TSharedPtr<FJsonValue> Json) override;
33};
34
35//---------------------------------------------------------------------------//
36
37UCLASS(BlueprintType)
38class ARTICYRUNTIME_API UArticyConnection : public UArticyObject
39{
40 GENERATED_BODY()
41
42public:
43
44 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Articy", meta=(DisplayName="Label"))
45 FString Label;
46 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Articy", meta=(DisplayName="Color"))
47 FLinearColor Color;
48
49 void InitFromJson(TSharedPtr<FJsonValue> Json) override;
50};
51
52UCLASS(BlueprintType)
53class ARTICYRUNTIME_API UArticyOutgoingConnection : public UArticyConnection
54{
55 GENERATED_BODY()
56
57public:
58
59 UArticyPrimitive* GetTarget() const;
60 FArticyId GetTargetID() const { return Target; }
63 FArticyId GetTargetPinID() const { return TargetPin; }
64
65protected:
66 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Articy", meta=(DisplayName="TargetPin"))
67 FArticyId TargetPin;
68 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Articy", meta=(DisplayName="Target"))
69 FArticyId Target;
70
71private:
72 UPROPERTY(VisibleAnywhere, Transient, Category = "Articy")
73 mutable UArticyFlowPin* TargetPinObj;
74 UPROPERTY(VisibleAnywhere, Transient, Category = "Articy")
75 mutable UArticyPrimitive* TargetObj;
76
77 template<typename Type, typename PropType>
78 friend struct ArticyObjectTypeInfo;
79 friend void UArticyFlowPin::InitFromJson(TSharedPtr<FJsonValue> Json);
80
81 void InitFromJson(TSharedPtr<FJsonValue> Json) override;
82};
83
84UCLASS(BlueprintType)
85class ARTICYRUNTIME_API UArticyIncomingConnection : public UArticyConnection
86{
87 GENERATED_BODY()
88
89public:
90
91 UArticyPrimitive* GetSource() const;
92 UArticyOutputPin* GetSourcePin() const;
93
94protected:
95 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Articy", meta=(DisplayName="SourcePin"))
96 FArticyId SourcePin;
97 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Articy", meta=(DisplayName="Source"))
98 FArticyId Source;
99
100private:
101 UPROPERTY(VisibleAnywhere, Transient, Category = "Articy")
102 mutable UArticyOutputPin* SourcePinObj;
103 UPROPERTY(VisibleAnywhere, Transient, Category = "Articy")
104 mutable UArticyPrimitive* SourceObj;
105
106 template<typename Type, typename PropType>
107 friend struct ArticyObjectTypeInfo;
108
109 void InitFromJson(TSharedPtr<FJsonValue> Json) override;
110};
111
112//---------------------------------------------------------------------------//
113
114USTRUCT(BlueprintType)
115struct ARTICYRUNTIME_API FArticyLocationAnchor
116{
117 GENERATED_BODY()
118
119public:
120 FArticyLocationAnchor() = default;
121 FArticyLocationAnchor(TSharedPtr<FJsonValue> Json);
122
123 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Articy", meta=(DisplayName="AnchorPositionX"))
124 float AnchorPositionX = 0.f;
125 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Articy", meta=(DisplayName="AnchorPositionY"))
126 float AnchorPositionY= 0.f;
127 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Articy", meta=(DisplayName="AnchorColor"))
128 FLinearColor AnchorColor= FLinearColor::White;
129 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Articy", meta=(DisplayName="AnchorSize"))
130 EArticyLocationAnchorSize AnchorSize = EArticyLocationAnchorSize::Medium;
131};
132
133UCLASS(BlueprintType)
134class ARTICYRUNTIME_API UArticyTransformation : public UArticyBaseObject
135{
136 GENERATED_BODY()
137
138public:
139
140 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Articy")
141 FVector2D Pivot;
142
143 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Articy")
144 float Rotation;
145 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Articy")
146 FVector2D Translation;
147 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Articy")
148 FMatrix Matrix;
149
150private:
151 template<typename Type, typename PropType>
152 friend struct ArticyObjectTypeInfo;
153 void InitFromJson(TSharedPtr<FJsonValue> Json) override;
154};
155
156UCLASS()
157class ARTICYRUNTIME_API UArticyUserFolder : public UArticyObject
158{
159 GENERATED_BODY()
160
161};
162
163UCLASS()
164class ARTICYRUNTIME_API UArticyZone : public UArticyObject
165{
166 GENERATED_BODY()
167
168};
169
170UCLASS()
171class ARTICYRUNTIME_API UArticyLocation : public UArticyObject
172{
173 GENERATED_BODY()
174
175};
176
177UCLASS()
178class ARTICYRUNTIME_API UArticyDocument : public UArticyObject
179{
180 GENERATED_BODY()
181
182};
183
184UCLASS()
185class ARTICYRUNTIME_API UArticyPath : public UArticyObject
186{
187 GENERATED_BODY()
188
189};
190
191UCLASS()
192class ARTICYRUNTIME_API UArticySpot : public UArticyObject
193{
194 GENERATED_BODY()
195
196};
197
198UCLASS()
199class ARTICYRUNTIME_API UArticyLocationImage : public UArticyObject
200{
201 GENERATED_BODY()
202
203};
204
205UCLASS()
206class ARTICYRUNTIME_API UArticyLocationText : public UArticyObject
207{
208 GENERATED_BODY()
209
210};
211
212
213UCLASS()
214class ARTICYRUNTIME_API UArticyLink : public UArticyObject
215{
216 GENERATED_BODY()
217
218};
219
220UCLASS()
221class ARTICYRUNTIME_API UArticyComment : public UArticyObject
222{
223 GENERATED_BODY()
224
225};
226
227UCLASS()
228class ARTICYRUNTIME_API UArticyTextObject : public UArticyObject
229{
230 GENERATED_BODY()
231
232};
Definition ArticyBaseObject.h:25
Definition ArticyBuiltinTypes.h:222
Definition ArticyBuiltinTypes.h:39
void InitFromJson(TSharedPtr< FJsonValue > Json) override
Definition ArticyBuiltinTypes.cpp:26
Definition ArticyBuiltinTypes.h:179
Definition ArticyPins.h:22
void InitFromJson(TSharedPtr< FJsonValue > Json) override
Definition ArticyPins.cpp:11
Definition ArticyBuiltinTypes.h:86
Definition ArticyBuiltinTypes.h:200
Definition ArticyBuiltinTypes.h:207
Definition ArticyBuiltinTypes.h:172
Definition ArticyObject.h:19
Definition ArticyBuiltinTypes.h:54
UArticyFlowPin * GetTargetPin() const
Definition ArticyBuiltinTypes.cpp:49
Definition ArticyPins.h:75
Definition ArticyBuiltinTypes.h:186
Definition ArticyBuiltinTypes.h:16
FArticyId Asset
Definition ArticyBuiltinTypes.h:27
Definition ArticyPrimitive.h:17
Definition ArticyBuiltinTypes.h:193
Definition ArticyBuiltinTypes.h:229
Definition ArticyBuiltinTypes.h:135
Definition ArticyBuiltinTypes.h:158
Definition ArticyBuiltinTypes.h:165
Definition ArticyBaseTypes.h:18
Definition ArticyBaseTypes.h:169