GraphBehaviourEditor.cs 840 B

1234567891011121314151617181920212223242526272829303132333435
  1. using UnityEditor;
  2. using UnityEngine;
  3. using UnityEngine.UIElements;
  4. [CustomEditor(typeof(GraphBehaviour))]
  5. public class GraphBehaviourEditor : Editor
  6. {
  7. Editor graphEditor;
  8. GraphBehaviour behaviour => target as GraphBehaviour;
  9. void OnEnable()
  10. {
  11. graphEditor = Editor.CreateEditor(behaviour.graph);
  12. }
  13. void OnDisable()
  14. {
  15. DestroyImmediate(graphEditor);
  16. }
  17. public override VisualElement CreateInspectorGUI()
  18. {
  19. var root = new VisualElement();
  20. var graphContainer = graphEditor != null ? graphEditor.CreateInspectorGUI().Q("ExposedParameters") : null;
  21. root.Add(new Button(() => EditorWindow.GetWindow<AllGraphWindow>().InitializeGraph(behaviour.graph))
  22. {
  23. text = "Open"
  24. });
  25. root.Add(graphContainer);
  26. return root;
  27. }
  28. }