void UBlueprint::GetAllGraphs(TArray<UEdGraph*>& Graphs) const { #if WITH_EDITORONLY_DATA for (int32 i = 0; i < FunctionGraphs.Num(); ++i) { UEdGraph* Graph = FunctionGraphs[i]; Graphs.Add(Graph); Graph->GetAllChildrenGraphs(Graphs); } for (int32 i = 0; i < MacroGraphs.Num(); ++i) { UEdGraph* Graph = MacroGraphs[i]; Graphs.Add(Graph); Graph->GetAllChildrenGraphs(Graphs); } for (int32 i = 0; i < UbergraphPages.Num(); ++i) { UEdGraph* Graph = UbergraphPages[i]; Graphs.Add(Graph); Graph->GetAllChildrenGraphs(Graphs); } for (int32 BPIdx=0; BPIdx<ImplementedInterfaces.Num(); BPIdx++) { const FBPInterfaceDescription& InterfaceDesc = ImplementedInterfaces[BPIdx]; for (int32 GraphIdx = 0; GraphIdx < InterfaceDesc.Graphs.Num(); GraphIdx++) { UEdGraph* Graph = InterfaceDesc.Graphs[GraphIdx]; Graphs.Add(Graph); Graph->GetAllChildrenGraphs(Graphs); } } #endif // WITH_EDITORONLY_DATA }
void UEdGraph::GetAllChildrenGraphs(TArray<UEdGraph*>& Graphs) const { #if WITH_EDITORONLY_DATA for (int32 i = 0; i < SubGraphs.Num(); ++i) { UEdGraph* Graph = SubGraphs[i]; checkf(Graph, *FString::Printf(TEXT("%s has invalid SubGraph array entry at %d"), *GetFullName(), i)); Graphs.Add(Graph); Graph->GetAllChildrenGraphs(Graphs); } #endif // WITH_EDITORONLY_DATA }