diff --git a/Scripts/Editor/GraphAndNodeEditor.cs b/Scripts/Editor/GraphAndNodeEditor.cs
index 6b4f12d..bfc809a 100644
--- a/Scripts/Editor/GraphAndNodeEditor.cs
+++ b/Scripts/Editor/GraphAndNodeEditor.cs
@@ -32,7 +32,8 @@ namespace XNodeEditor {
if (GUILayout.Button("Edit graph", GUILayout.Height(40))) {
SerializedProperty graphProp = serializedObject.FindProperty("graph");
- NodeEditorWindow.Open(graphProp.objectReferenceValue as XNode.NodeGraph);
+ NodeEditorWindow w = NodeEditorWindow.Open(graphProp.objectReferenceValue as XNode.NodeGraph);
+ w.Home(); // Focus selected node
}
GUILayout.Space(EditorGUIUtility.singleLineHeight);
diff --git a/Scripts/Editor/NodeEditorWindow.cs b/Scripts/Editor/NodeEditorWindow.cs
index a063410..1f64653 100644
--- a/Scripts/Editor/NodeEditorWindow.cs
+++ b/Scripts/Editor/NodeEditorWindow.cs
@@ -187,12 +187,13 @@ namespace XNodeEditor {
}
/// Open the provided graph in the NodeEditor
- public static void Open(XNode.NodeGraph graph) {
- if (!graph) return;
+ public static NodeEditorWindow Open(XNode.NodeGraph graph) {
+ if (!graph) return null;
NodeEditorWindow w = GetWindow(typeof(NodeEditorWindow), false, "xNode", true) as NodeEditorWindow;
w.wantsMouseMove = true;
w.graph = graph;
+ return w;
}
/// Repaint all open NodeEditorWindows.