private void OnGUI() { CreateStyles(); ResetToggle(); DropAreaGUI(); OpenGraphFromPicker(); scrollPosition = GUI.BeginScrollView(new Rect(0, 0, position.width, position.height), scrollPosition, scrollArea); GUILayout.BeginVertical(GUILayout.ExpandHeight(true)); Vector2 groupSize = new Vector2(scrollArea.width, 280); GUI.BeginGroup(new Rect((position.width / 2) - (groupSize.x / 2), (position.height / 2) - (groupSize.y / 2), groupSize.x, groupSize.y)); GUI.Label(new Rect(0, 0, groupSize.x, titleHeight), "Drag and drop a Visual Scripting Graph asset here\nor", titleStyle); int buttonX = 10; if (GUI.Button(new Rect(buttonX, titleHeight, buttonWidth, buttonHeight), "Browse to open a Graph")) { OpenGraph(); } buttonX += (buttonWidth + 10); Rect area = new Rect(buttonX, titleHeight, buttonWidth, buttonHeight); splitDropdownScriptGraph.GetOption(0).interactable = Selection.activeGameObject != null; if (splitDropdownScriptGraph.Draw(area, "Create new Script Graph", ref toggleOnScript)) { CreateScriptGraph(); } if (toggleOnScript) { toggleOnState = false; } buttonX += (buttonWidth + 10); area = new Rect(buttonX, titleHeight, buttonWidth, buttonHeight); splitDropdownStateGraph.GetOption(0).interactable = Selection.activeGameObject != null; if (splitDropdownStateGraph.Draw(area, "Create new State Graph", ref toggleOnState)) { CreateStateGraph(); } if (toggleOnState) { toggleOnScript = false; } GUI.EndGroup(); GUILayout.EndVertical(); GUI.EndScrollView(); if (shouldCloseWindow) { Close(); } }