// Copyright Epic Games, Inc. All Rights Reserved. #pragma once #include "CoreMinimal.h" class UEdGraphPin; class FMaterialEditor; class UMaterialGraphNode; class UEdGraphNode; class FMaterialEditorHelpers { public: static void CollapseToFunction(FMaterialEditor& MaterialEditor); static void ExpandNode(FMaterialEditor& MaterialEditor); static void ExpandNode(FMaterialEditor& MaterialEditor, FMaterialEditor& FunctionMaterialEditor, UMaterialGraphNode* FunctionCallNode); static FMaterialEditor* OpenMaterialEditorForAsset(UObject* Asset); private: static FBox2D GetNodesBounds(FMaterialEditor& MaterialEditor, const TSet& Nodes); static void FindNewNodes(FMaterialEditor& MaterialEditor, TMap& OutOldGuidToNewNode, const TMap& OldToNewGuids); static UEdGraphPin* FindNewPin(UEdGraphPin* OldPin, const TMap& OldGuidToNewNode); };