ArticyXImporter
ArticyXImporter for Unreal Engine
Loading...
Searching...
No Matches
ArticyPins.h
1//
2// Copyright (c) 2023 articy Software GmbH & Co. KG. All rights reserved.
3//
4
5#pragma once
6
7#include "ArticyObject.h"
8#include "ArticyBaseTypes.h"
9#include "ArticyPausableType.h"
10#include "Interfaces/ArticyFlowObject.h"
11#include "Interfaces/ArticyConditionProvider.h"
12#include "Interfaces/ArticyInstructionProvider.h"
13
14#include "ArticyPins.generated.h"
15
20UCLASS(BlueprintType)
21class ARTICYRUNTIME_API UArticyFlowPin : public UArticyPrimitive, public IArticyFlowObject
22{
23 GENERATED_BODY()
24
25public:
27 UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = "Articy")
28 FString Text = "";
29
31 UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = "Articy")
33
35 UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = "Articy")
37
38 void InitFromJson(TSharedPtr<FJsonValue> Json) override;
39
40 UFUNCTION(BlueprintCallable, Category = "Articy")
41 UArticyObject* GetOwner();
42
43 //---------------------------------------------------------------------------//
44
45 EArticyPausableType GetType() override { return EArticyPausableType::Pin; }
46
47 //stub implementation
48 void Explore(UArticyFlowPlayer* Player, TArray<FArticyBranch>& OutBranches, const uint32& Depth) override { ensure(false); }
49};
50
54UCLASS(BlueprintType)
55class ARTICYRUNTIME_API UArticyInputPin : public UArticyFlowPin, public IArticyConditionProvider
56{
57 GENERATED_BODY()
58
59public:
60
61 EArticyPausableType GetType() override { return UArticyFlowPin::GetType(); }
62
63 //---------------------------------------------------------------------------//
64
65 bool Evaluate(class UArticyGlobalVariables* GV = nullptr, class UObject* MethodProvider = nullptr) override;
66
67 void Explore(UArticyFlowPlayer* Player, TArray<FArticyBranch>& OutBranches, const uint32& Depth) override;
68};
69
73UCLASS(BlueprintType)
74class ARTICYRUNTIME_API UArticyOutputPin : public UArticyFlowPin, public IArticyInstructionProvider
75{
76 GENERATED_BODY()
77
78public:
79
80 EArticyPausableType GetType() override { return UArticyFlowPin::GetType(); }
81
82 //---------------------------------------------------------------------------//
83
84 void Execute(class UArticyGlobalVariables* GV = nullptr, class UObject* MethodProvider = nullptr) override;
85
86 void Explore(UArticyFlowPlayer* Player, TArray<FArticyBranch>& OutBranches, const uint32& Depth) override;
87};
Definition ArticyConditionProvider.h:16
Definition ArticyFlowObject.h:23
Definition ArticyInstructionProvider.h:16
Definition ArticyPins.h:22
FString Text
Definition ArticyPins.h:28
FArticyId Owner
Definition ArticyPins.h:32
void InitFromJson(TSharedPtr< FJsonValue > Json) override
Definition ArticyPins.cpp:11
TArray< UArticyOutgoingConnection * > Connections
Definition ArticyPins.h:36
void Explore(UArticyFlowPlayer *Player, TArray< FArticyBranch > &OutBranches, const uint32 &Depth) override
Definition ArticyPins.h:48
Definition ArticyFlowPlayer.h:29
Definition ArticyGlobalVariables.h:479
Definition ArticyPins.h:56
void Explore(UArticyFlowPlayer *Player, TArray< FArticyBranch > &OutBranches, const uint32 &Depth) override
Definition ArticyPins.cpp:51
Definition ArticyObject.h:19
Definition ArticyBuiltinTypes.h:54
Definition ArticyPins.h:75
void Explore(UArticyFlowPlayer *Player, TArray< FArticyBranch > &OutBranches, const uint32 &Depth) override
Definition ArticyPins.cpp:105
void Execute(class UArticyGlobalVariables *GV=nullptr, class UObject *MethodProvider=nullptr) override
Definition ArticyPins.cpp:99
Definition ArticyPrimitive.h:17
Definition ArticyBaseTypes.h:18