示例#1
0
        private void SelectBehaviorBrain()
        {
            GUIContent content = new GUIContent(BehaviorTreeEditor.active != null ? BehaviorTreeEditor.active.name : "[None Selected]");
            float      width   = EditorStyles.toolbarDropDown.CalcSize(content).x;

            width = Mathf.Clamp(width, 100f, width);
            if (GUILayout.Button(content, EditorStyles.toolbarDropDown, GUILayout.Width(width)))
            {
                GenericMenu menu = new GenericMenu();
                if (BehaviorTreeEditor.active != null)
                {
                    SelectBehaviorBrainMenu(BehaviorTreeEditor.active, ref menu);
                }

                menu.AddItem(new GUIContent("[Craete New]"), false, delegate()
                {
                    BehaviorTree bt = AssetCreator.CreateAsset <BehaviorTree>(true);
                    if (bt != null)
                    {
                        bt.Name = bt.name;

                        Root root   = BehaviorTreeEditorUtility.AddNode <Root>(BehaviorTreeEditor.center, bt);
                        bt.rootNode = root;
                        root.Name   = "Root";

                        AssetDatabase.SaveAssets();
                        BehaviorTreeEditor.SelectBehaviorTrees(bt);
                    }
                });
                menu.ShowAsContext();
            }
        }
示例#2
0
 private void SelectBehaviorBrainMenu(BehaviorTree bt, ref GenericMenu menu)
 {
     if (bt != null)
     {
         GUIContent content = new GUIContent(bt.name);
         menu.AddItem(content, false, delegate()
         {
             BehaviorTreeEditor.SelectBehaviorTrees(bt);
         });
     }
 }
示例#3
0
        public static void SelectGameObject(GameObject gameObject)
        {
            if (BehaviorTreeEditor.instance == null)
            {
                return;
            }

            if (gameObject != null)
            {
                Brain brain = gameObject.GetComponent <Brain>();
                BehaviorTreeEditor.instance._brain = brain;
                if (brain != null && brain.behaviorTree != null)
                {
                    BehaviorTreeEditor.instance._activeGameObject = gameObject;
                    BehaviorTreeEditor.SelectBehaviorTrees(brain.behaviorTree);
                }
            }
        }