MCPcopy Create free account
hub / github.com/MothCocoon/FlowGraph / TryUpdateAutoDataPins

Method TryUpdateAutoDataPins

Source/Flow/Private/Nodes/FlowNode.cpp:425–461  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

423}
424
425bool UFlowNode::TryUpdateAutoDataPins()
426{
427 // Generate data pins, feed list to working data struct
428 FFlowAutoDataPinsWorkingData WorkingData = FFlowAutoDataPinsWorkingData(AutoInputDataPins, AutoOutputDataPins);
429 AutoGenerateDataPins(WorkingData);
430
431 bool bAutoInputDataPinsChanged = false;
432 bool bAutoOutputDataPinsChanged = false;
433 if (WorkingData.AutoGenerateDataPinsForFlowNode(*this, bAutoInputDataPinsChanged, bAutoOutputDataPinsChanged))
434 {
435 SetFlags(RF_Transactional);
436 Modify();
437
438 // Lock-in the data that changed.
439 TArray<FFlowPin> NewDataPins;
440 const int32 LargestPinNum = FMath::Max(WorkingData.AutoInputDataPinsNext.Num(), WorkingData.AutoOutputDataPinsNext.Num());
441
442 if (bAutoInputDataPinsChanged)
443 {
444 NewDataPins.Reserve(LargestPinNum);
445 WorkingData.BuildNextFlowPinArray(WorkingData.AutoInputDataPinsNext, NewDataPins);
446 AutoInputDataPins = MoveTemp(NewDataPins);
447 }
448
449 if (bAutoOutputDataPinsChanged)
450 {
451 NewDataPins.Reserve(LargestPinNum);
452 WorkingData.BuildNextFlowPinArray(WorkingData.AutoOutputDataPinsNext, NewDataPins);
453 AutoOutputDataPins = MoveTemp(NewDataPins);
454 }
455
456 PostEditChange();
457 return true;
458 }
459
460 return false;
461}
462
463void UFlowNode::AutoGenerateDataPins(FFlowAutoDataPinsWorkingData& InOutWorkingData) const
464{

Callers 3

TryUpdateNodePinsMethod · 0.80
RegisterNodeMethod · 0.80

Tested by

no test coverage detected