4
4
5
5
UFlowNode_ExecutionSequence::UFlowNode_ExecutionSequence (const FObjectInitializer& ObjectInitializer)
6
6
: Super(ObjectInitializer)
7
+ , bSavePinExecutionState(true )
7
8
{
8
9
#if WITH_EDITOR
9
10
Category = TEXT (" Route" );
@@ -16,12 +17,12 @@ UFlowNode_ExecutionSequence::UFlowNode_ExecutionSequence(const FObjectInitialize
16
17
17
18
void UFlowNode_ExecutionSequence::ExecuteInput (const FName& PinName)
18
19
{
19
- if (bSavePinExecutionState)
20
+ if (bSavePinExecutionState)
20
21
{
21
22
ExecuteNewConnections ();
22
23
return ;
23
24
}
24
-
25
+
25
26
for (const FFlowPin& Output : OutputPins)
26
27
{
27
28
TriggerOutput (Output.PinName , false );
@@ -33,11 +34,11 @@ void UFlowNode_ExecutionSequence::ExecuteInput(const FName& PinName)
33
34
#if WITH_EDITOR
34
35
FString UFlowNode_ExecutionSequence::GetNodeDescription () const
35
36
{
36
- if (bSavePinExecutionState)
37
+ if (bSavePinExecutionState)
37
38
{
38
39
return TEXT (" Saves pin execution state" );
39
40
}
40
-
41
+
41
42
return Super::GetNodeDescription ();
42
43
}
43
44
#endif
@@ -52,12 +53,12 @@ void UFlowNode_ExecutionSequence::ExecuteNewConnections()
52
53
for (const FFlowPin& Output : OutputPins)
53
54
{
54
55
const FConnectedPin& Connection = GetConnection (Output.PinName );
55
- if ( ExecutedConnections.Contains (Connection.NodeGuid ))
56
+ if (! ExecutedConnections.Contains (Connection.NodeGuid ))
56
57
{
57
- continue ;
58
+ ExecutedConnections.Emplace (Connection.NodeGuid );
59
+ TriggerOutput (Output.PinName , false );
58
60
}
59
-
60
- TriggerOutput (Output.PinName , false );
61
- ExecutedConnections.Emplace (Connection.NodeGuid );
62
61
}
62
+
63
+ Finish ();
63
64
}
0 commit comments