| 454 | } |
| 455 | |
| 456 | void UFlowSubsystem::LoadSubFlow(UFlowNode_SubGraph* SubGraphNode, const FString& SavedAssetInstanceName) |
| 457 | { |
| 458 | if (SubGraphNode->Asset.IsNull()) |
| 459 | { |
| 460 | return; |
| 461 | } |
| 462 | |
| 463 | UFlowAsset* SubGraphAsset = SubGraphNode->Asset.LoadSynchronous(); |
| 464 | |
| 465 | for (const FFlowAssetSaveData& AssetRecord : LoadedSaveGame->FlowInstances) |
| 466 | { |
| 467 | if (AssetRecord.InstanceName == SavedAssetInstanceName |
| 468 | && ((SubGraphAsset && SubGraphAsset->IsBoundToWorld() == false) || AssetRecord.WorldName == GetWorld()->GetName())) |
| 469 | { |
| 470 | UFlowAsset* LoadedInstance = CreateSubFlow(SubGraphNode, SavedAssetInstanceName); |
| 471 | if (LoadedInstance) |
| 472 | { |
| 473 | LoadedInstance->LoadInstance(AssetRecord); |
| 474 | } |
| 475 | return; |
| 476 | } |
| 477 | } |
| 478 | } |
| 479 | |
| 480 | void UFlowSubsystem::RegisterComponent(UFlowComponent* Component) |
| 481 | { |
no test coverage detected