private void CreateMenu(object sender, AddMenuClickedEventArgs args)
        {
            GameDatabase db = GameDatabase.ActiveInstance;
            IReadonlyListX <BehaviorSet> behaviorSets = db.GetAssetList <BehaviorSet>();
            GenericMenu menu = new GenericMenu();

            for (int i = 0; i < behaviorSets.Count; i++)
            {
                GUIContent  content = new GUIContent($"Add {behaviorSets[i].name}");
                BehaviorSet bs      = behaviorSets[i];
                menu.AddItem(content, false, () => {
                    propertyAsList.AddElement(bs);
                });
            }
            menu.ShowAsContext();
        }
Beispiel #2
0
        protected override void CreateMenu(object sender, AddMenuClickedEventArgs args)
        {
            Type[]      subClasses = EditorReflector.FindSubClasses <Goal>();
            GenericMenu menu       = new GenericMenu();

            for (int i = 0; i < subClasses.Length; i++)
            {
                Type type = subClasses[i];
                if (!EditorReflector.IsDefaultConstructable(type))
                {
                    continue;
                }

                GUIContent content = new GUIContent($"Create {type.Name}");
                menu.AddItem(content, false, CreateGoal, type);
            }
            menu.ShowAsContext();
        }
Beispiel #3
0
        protected override void CreateMenu(object sender, AddMenuClickedEventArgs args)
        {
            Type[]      subClasses = EditorReflector.FindSubClasses <AIAction>();
            GenericMenu menu       = new GenericMenu();

            for (int i = 0; i < subClasses.Length; i++)
            {
                Type type = subClasses[i];
                if (!EditorReflector.IsDefaultConstructable(type))
                {
                    continue;
                }

                GUIContent content = new GUIContent($"Create {StringUtil.NicifyName(type.Name, "Action")}");

                menu.AddItem(content, false, () => {
                    propertyAsList.AddElement(EditorReflector.MakeInstance(type));
                });
            }
            menu.ShowAsContext();
        }
 protected virtual void OnAddMenuClicked(object sender, AddMenuClickedEventArgs args)
 {
 }
Beispiel #5
0
 protected virtual void CreateMenu(object sender, AddMenuClickedEventArgs args)
 {
 }