| 1146 | } |
| 1147 | |
| 1148 | void UFlowAsset::TriggerInput(const FGuid& NodeGuid, const FName& PinName, const FConnectedPin& FromPin) |
| 1149 | { |
| 1150 | if (FFlowExecutionGate::IsHalted()) |
| 1151 | { |
| 1152 | // Halt always takes precedence for debugger correctness |
| 1153 | EnqueueDeferredTrigger(NodeGuid, PinName, FromPin); |
| 1154 | } |
| 1155 | else if (ShouldDeferTriggers()) |
| 1156 | { |
| 1157 | // Defer only if we have an open the top scope |
| 1158 | if (!DeferredTransitionScopes.IsEmpty() && DeferredTransitionScopes.Top()->IsOpen()) |
| 1159 | { |
| 1160 | EnqueueDeferredTrigger(NodeGuid, PinName, FromPin); |
| 1161 | } |
| 1162 | else |
| 1163 | { |
| 1164 | const TSharedPtr<FFlowDeferredTransitionScope> CurrentScope = PushDeferredTransitionScope(); |
| 1165 | TriggerInputDirect(NodeGuid, PinName, FromPin); |
| 1166 | PopDeferredTransitionScope(CurrentScope); |
| 1167 | } |
| 1168 | } |
| 1169 | else |
| 1170 | { |
| 1171 | TriggerInputDirect(NodeGuid, PinName, FromPin); |
| 1172 | } |
| 1173 | } |
| 1174 | |
| 1175 | void UFlowAsset::TriggerInputDirect(const FGuid& NodeGuid, const FName& PinName, const FConnectedPin& FromPin) |
| 1176 | { |
no test coverage detected