| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 | 
							- using UnityEditor;
 
- using UnityEngine;
 
- #if ODIN_INSPECTOR
 
- using Sirenix.OdinInspector.Editor;
 
- using Sirenix.Utilities;
 
- using Sirenix.Utilities.Editor;
 
- #endif
 
- namespace XNodeEditor
 
- {
 
-     /// <summary> Override graph inspector to show an 'Open Graph' button at the top </summary>
 
-     [CustomEditor(typeof(XNode.NodeGraph), true)]
 
- #if ODIN_INSPECTOR
 
-     public class GlobalGraphEditor : OdinEditor {
 
-         public override void OnInspectorGUI() {
 
-             if (GUILayout.Button("Edit graph", GUILayout.Height(40))) {
 
-                 NodeEditorWindow.Open(serializedObject.targetObject as XNode.NodeGraph);
 
-             }
 
-             base.OnInspectorGUI();
 
-         }
 
-     }
 
- #else
 
-     [CanEditMultipleObjects]
 
-     public class GlobalGraphEditor : Editor
 
-     {
 
-         public override void OnInspectorGUI()
 
-         {
 
-             serializedObject.Update();
 
-             if (GUILayout.Button("Edit graph", GUILayout.Height(40)))
 
-             {
 
-                 NodeEditorWindow.Open(serializedObject.targetObject as XNode.NodeGraph, Selection.activeObject);
 
-             }
 
-             GUILayout.Space(EditorGUIUtility.singleLineHeight);
 
-             GUILayout.Label("Raw data", "BoldLabel");
 
-             DrawDefaultInspector();
 
-             serializedObject.ApplyModifiedProperties();
 
-         }
 
-     }
 
- #endif
 
-     [CustomEditor(typeof(XNode.Node), true)]
 
- #if ODIN_INSPECTOR
 
-     public class GlobalNodeEditor : OdinEditor {
 
-         public override void OnInspectorGUI() {
 
-             if (GUILayout.Button("Edit graph", GUILayout.Height(40))) {
 
-                 SerializedProperty graphProp = serializedObject.FindProperty("graph");
 
-                 NodeEditorWindow w = NodeEditorWindow.Open(graphProp.objectReferenceValue as XNode.NodeGraph);
 
-                 w.Home(); // Focus selected node
 
-             }
 
-             base.OnInspectorGUI();
 
-         }
 
-     }
 
- #else
 
-     [CanEditMultipleObjects]
 
-     public class GlobalNodeEditor : Editor
 
-     {
 
-         public override void OnInspectorGUI()
 
-         {
 
-             serializedObject.Update();
 
-             if (GUILayout.Button("Edit graph", GUILayout.Height(40)))
 
-             {
 
-                 SerializedProperty graphProp = serializedObject.FindProperty("graph");
 
-                 NodeEditorWindow w = NodeEditorWindow.Open(graphProp.objectReferenceValue as XNode.NodeGraph, Selection.activeObject);
 
-                 w.Home(); // Focus selected node
 
-             }
 
-             GUILayout.Space(EditorGUIUtility.singleLineHeight);
 
-             GUILayout.Label("Raw data", "BoldLabel");
 
-             // Now draw the node itself.
 
-             DrawDefaultInspector();
 
-             serializedObject.ApplyModifiedProperties();
 
-         }
 
-     }
 
- #endif
 
- }
 
 
  |