private void OpenGraph(Graph graph, bool closeCurrentlyOpenedGraph, bool clearGraphTabs, bool centerAllNodesInWindow, bool recordUndo = true) { if (graph == null) { return; } if (CurrentGraph == graph) { return; } if (closeCurrentlyOpenedGraph) { CloseCurrentGraph(clearGraphTabs); } if (recordUndo) { RecordUndo("Open Graph"); } WindowSettings.AddGraphToRecentlyOpenedGraphs(graph); CurrentGraph = graph; GraphUtils.CheckAndCreateAnyMissingSystemNodes(graph); ConstructGraphGUI(); if (centerAllNodesInWindow) { CenterAllNodesInWindow(); } // Undo.IncrementCurrentGroup(); // Undo.SetCurrentGroupName(m_graphAssetName); SetView(View.Graph); Repaint(); GraphEvent.Send(GraphEvent.EventType.EVENT_GRAPH_OPENED); m_graphAssetPath = AssetDatabase.GetAssetPath(CurrentGraph); }