ArticyXImporter
ArticyXImporter for Unreal Engine
Loading...
Searching...
No Matches
ArticyFlowClasses.h
1//
2// Copyright (c) 2023 articy Software GmbH & Co. KG. All rights reserved.
3//
4
5#pragma once
6
7#include "ArticyPins.h"
8#include "Interfaces/ArticyNode.h"
9
10#include "ArticyFlowClasses.generated.h"
11
15UCLASS()
16class ARTICYRUNTIME_API UArticyFlowFragment : public UArticyNode
17{
18 GENERATED_BODY()
19
20public:
21
26 EArticyPausableType GetType() override { return EArticyPausableType::FlowFragment; }
27};
28
32UCLASS()
33class ARTICYRUNTIME_API UArticyDialogue : public UArticyNode
34{
35 GENERATED_BODY()
36
37public:
38
43 EArticyPausableType GetType() override { return EArticyPausableType::Dialogue; }
44};
45
49UCLASS()
50class ARTICYRUNTIME_API UArticyDialogueFragment : public UArticyNode
51{
52 GENERATED_BODY()
53
54public:
55
60 EArticyPausableType GetType() override { return EArticyPausableType::DialogueFragment; }
61};
62
66UCLASS()
67class ARTICYRUNTIME_API UArticyHub : public UArticyNode
68{
69 GENERATED_BODY()
70
71public:
72
77 EArticyPausableType GetType() override { return EArticyPausableType::Hub; }
78};
79
83UCLASS()
84class ARTICYRUNTIME_API UArticyJump : public UArticyNode
85{
86 GENERATED_BODY()
87
88public:
89
94 EArticyPausableType GetType() override { return EArticyPausableType::Jump; }
95
100 UArticyPrimitive* GetTarget() const;
101
106 FArticyId GetTargetID() const { return Target; }
107
112 UArticyFlowPin* GetTargetPin() const;
113
119
126 void Explore(UArticyFlowPlayer* Player, TArray<FArticyBranch>& OutBranches, const uint32& Depth) override;
127
128protected:
129
131 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Articy", meta = (DisplayName = "TargetPin"))
133
135 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Articy", meta = (DisplayName = "Target"))
137
138private:
139
141 UPROPERTY(VisibleAnywhere, Transient, Category = "Articy")
142 mutable UArticyFlowPin* TargetPinObj;
143
145 UPROPERTY(VisibleAnywhere, Transient, Category = "Articy")
146 mutable UArticyPrimitive* TargetObj;
147};
Definition ArticyFlowClasses.h:51
EArticyPausableType GetType() override
Definition ArticyFlowClasses.h:60
Definition ArticyFlowClasses.h:34
EArticyPausableType GetType() override
Definition ArticyFlowClasses.h:43
Definition ArticyFlowClasses.h:17
EArticyPausableType GetType() override
Definition ArticyFlowClasses.h:26
Definition ArticyPins.h:22
Definition ArticyFlowPlayer.h:69
Definition ArticyFlowClasses.h:68
EArticyPausableType GetType() override
Definition ArticyFlowClasses.h:77
Definition ArticyFlowClasses.h:85
EArticyPausableType GetType() override
Definition ArticyFlowClasses.h:94
FArticyId GetTargetID() const
Definition ArticyFlowClasses.h:106
FArticyId GetTargetPinID() const
Definition ArticyFlowClasses.h:118
FArticyId Target
Definition ArticyFlowClasses.h:136
FArticyId TargetPin
Definition ArticyFlowClasses.h:132
Base class for all nodes (fragments) in the flow.
Definition ArticyNode.h:23
Definition ArticyPrimitive.h:17
Definition ArticyBaseTypes.h:18