From 72cd983f7bd9df1d5c19820b5e6eae0cd33c9d3d Mon Sep 17 00:00:00 2001 From: Thor Brigsted Date: Thu, 21 Sep 2017 18:56:05 +0200 Subject: [PATCH] Automatically resize nodes to match contents --- Scripts/Editor/NodeEditorGUI.cs | 7 ++++--- Scripts/Editor/NodeEditorWindow.cs | 3 --- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/Scripts/Editor/NodeEditorGUI.cs b/Scripts/Editor/NodeEditorGUI.cs index 6152b49..c880c88 100644 --- a/Scripts/Editor/NodeEditorGUI.cs +++ b/Scripts/Editor/NodeEditorGUI.cs @@ -137,10 +137,9 @@ public partial class NodeEditorWindow { //Get node position Vector2 nodePos = GridToWindowPositionNoClipped(node.position.position); - Rect windowRect = new Rect(nodePos, node.position.size); - GUIStyle style = (node == selectedNode) ? (GUIStyle)"flow node 0 on" : (GUIStyle)"flow node 0"; - GUILayout.BeginArea(windowRect, node.ToString(), style); + GUILayout.BeginArea(new Rect(nodePos,new Vector2(200,4000))); + GUILayout.BeginVertical(node.ToString(), style); GUILayout.BeginHorizontal(); //Inputs @@ -170,7 +169,9 @@ public partial class NodeEditorWindow { NodeEditor nodeEditor = GetNodeEditor(node.GetType()); nodeEditor.target = node; nodeEditor.OnNodeGUI(); + GUILayout.EndVertical(); + if (e.type == EventType.Repaint) node.position.size = GUILayoutUtility.GetLastRect().size; GUILayout.EndArea(); } EndZoomed(position, zoom); diff --git a/Scripts/Editor/NodeEditorWindow.cs b/Scripts/Editor/NodeEditorWindow.cs index 9e09791..f3fb17a 100644 --- a/Scripts/Editor/NodeEditorWindow.cs +++ b/Scripts/Editor/NodeEditorWindow.cs @@ -31,11 +31,9 @@ public partial class NodeEditorWindow : EditorWindow { public void Save() { saved = graph.Serialize(); - Debug.Log(saved); } public void Load() { - Debug.Log(saved); _graph = NodeGraph.Deserialize(saved); } @@ -48,7 +46,6 @@ public partial class NodeEditorWindow : EditorWindow { } public Vector2 GridToWindowPosition(Vector2 gridPosition) { - //Vector2 center = position.size * 0.5f; return (position.size * 0.5f) + (panOffset / zoom) + (gridPosition/zoom); }