public static BehaviorTreeEditorView OpenBehaviorTreeWindow() { BehaviorTreeEditorView openedWindow = CreateWindow <BehaviorTreeEditorView>("Behavior Tree editor"); openedWindow.saveChangesMessage = "This behavior tree has not been saved. Would you like to save?"; return(openedWindow); }
public override void OnInspectorGUI() { BehaviorTreeExecutor treeExecutor = (BehaviorTreeExecutor)target; EditorGUI.BeginChangeCheck(); treeExecutor.tree = (BehaviorTree)EditorGUILayout.ObjectField("Tree", treeExecutor.tree, typeof(BehaviorTree), false); if (EditorGUI.EndChangeCheck()) { treeExecutor.RebuildInstanceOverrideList(); } if (GUILayout.Button("Open editor")) { if (treeExecutor.tree == null) { treeExecutor.tree = CreateInstance <BehaviorTree>(); treeExecutor.tree.SaveToNew("Behavior Tree"); } BehaviorTreeEditorView.OpenBehaviorTreeWindow().Load(treeExecutor.tree); } SerializedProperty blackboard = serializedObject.FindProperty("variableOverrides"); DrawBlackboard(treeExecutor, blackboard); }