ArticyXImporter
ArticyXImporter for Unreal Engine
Loading...
Searching...
No Matches
ArticyPrimitive.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
10#include "ArticyPrimitive.generated.h"
11
15UCLASS(BlueprintType)
16class ARTICYRUNTIME_API UArticyPrimitive : public UArticyBaseObject
17{
18 GENERATED_BODY()
19
20public:
21 FArticyId GetId() const { return Id; }
22 uint32 GetCloneId() const { return CloneId; }
23
24 void SetCloneID(uint32 cCloneId) { CloneId = cCloneId; }
25
26protected:
27 UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = "Articy")
28 FArticyId Id;
29
30 // TODO k2 - changed to UArticyCloneableObject
31 // friend struct FArticyClonableObject;
32 friend struct FArticyObjectShadow;
34 UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = "Articy")
35 int32 CloneId = 0;
36
37protected:
39 void InitFromJson(TSharedPtr<FJsonValue> Json) override
40 {
42
43 if(!Json.IsValid() || Json->Type != EJson::Object)
44 return;
45
46 auto obj = Json->AsObject();
47 if(!ensure(obj.IsValid()))
48 return;
49
50 JSON_TRY_HEX_ID(obj, Id);
51 }
52
53private:
54 mutable FString Path = "";
55};
Definition ArticyBaseObject.h:25
virtual void InitFromJson(TSharedPtr< FJsonValue > Json)
Definition ArticyBaseObject.h:61
Definition ArticyPrimitive.h:17
void InitFromJson(TSharedPtr< FJsonValue > Json) override
Definition ArticyPrimitive.h:39
int32 CloneId
Definition ArticyPrimitive.h:35
Definition ArticyBaseTypes.h:18