Ejemplo n.º 1
0
        void TopToolbar(Rect rect)
        {
            GUILayout.BeginArea(rect);

            using (new EditorGUILayout.HorizontalScope())
            {
                GenericMenu menu = new GenericMenu();
                if (EditorGUILayout.DropdownButton(new GUIContent("Add Behavior"), FocusType.Passive))
                {
                    menu.CreateTypeMenu <BehaviorTreeElement>(OnTypeSelected);
                    menu.ShowAsContext();
                }

                if (GUILayout.Button("Remove Behavior"))
                {
                    var selection = _TreeView.GetSelection();
                    _TreeView.treeModel.RemoveElements(selection);
                }

                FilePath = GUILayout.TextField(FilePath);
                if (GUILayout.Button("Save Tree"))
                {
                    FilePath = EditorUtility.SaveFilePanel("", FileDir, "New Behavior Tree", "asset");
                    BehaviorExtensions.SaveBehaviorAsset(null, FilePath, _BehaviorTreeManagerAsset, (Merge)_TreeView.treeModel.Root);
                }
            }

            GUILayout.EndArea();
        }
        protected override void ContextClickedItem(int id)
        {
            //var item = treeModel.Find(id);
            GenericMenu menu = new GenericMenu();

            menu.CreateTypeMenu <BehaviorTreeElement>(OnMenuTypeSelected);
            menu.ShowAsContext();
        }