Navigation
API > API/Plugins > API/Plugins/ControlFlows > API/Plugins/ControlFlows/MyFunction
References
| Module | ControlFlows |
| Header | /Engine/Plugins/Experimental/ControlFlows/Source/ControlFlows/Public/ControlFlow.h |
| Include | #include "ControlFlow.h" |
&42;void MyFunction
&40;
FControlFlowNodeRef FlowHandle,
...
&41;
Remarks
System/Tool to queue (asynchronous or synchronous) functions for modularity implemented via delegates. Allows code to be more easily read so there fewer 'Alt+G'-ing around to figure out what and where a class does it's thing
This system only supports non-const functions currently.
'QueueFunction': Queues a 'void (...)' function. The Flow will execute this function and continue on with the next function in queue.
'QueueWait': Queues a 'void (FControlFlowNodeRef FlowHandle, ...)' function. The flow will stop until 'FlowHandle->ContinueFlow()' is called. BE RESPONSIBLE and make sure all code paths call to continue xOR cancel, otherwise the flow will hang.
'QueueControlFlow': Queues a 'void (TSharedRef
'QueueControlFlowBranch': Queues a 'int32(TSharedRef
'QueueConcurrentFlows': Queues a 'void(TSharedRef
'QueueConditionalLoop': Queues a 'EConditionalLoopResult(TSharedRef
'QueueStep': Usable in UObject's or classes that derive from #TSharedFromThis
Using the auto-deduction of 'QueueStep', you can change the queue from a synchronous function (QueueFunction) to an asynchronous one (QueueWait) or vice-versa by adding/removing the 'FControlFlowNodeRef FlowHandle' as your first parameter. And you can change it to (QueueControlFlow) if need be as well!
Syntax:
void MyFunction(...); /**