Пример #1
0
        protected override void RowGUI(TreeView.RowGUIArgs args)
        {
            Rect            rowSpace       = args.rowRect;
            EZMTreeViewItem entityTreeItem = args.item as EZMTreeViewItem;
            var             childOptions   = entityTreeItem.GetChildOptions();

            if (childOptions != null)
            {
                if (GUI.Button(rowSpace.WithSize(new Vector2(17.5f, 17.5f)).WithX(rowSpace.xMax - 20), "+", EditorStyles.centeredGreyMiniLabel))
                {
                    GenericMenu gm = new GenericMenu();

                    for (int i = 0; i < childOptions.Length; i++)
                    {
                        var type = childOptions[i];
                        gm.AddItem(new GUIContent("Add " + childOptions[i].Name), false, () =>
                        {
                            AddElement(entityTreeItem, type);
                            Reload();
                        });
                    }

                    gm.ShowAsContext();
                }
            }

            base.RowGUI(args);
        }
Пример #2
0
        protected override void SelectionChanged(IList <int> selectedIds)
        {
            base.SelectionChanged(selectedIds);

            List <EZMTreeViewItem> selectedItems = new List <EZMTreeViewItem>();

            for (int i = 0; i < selectedIds.Count; i++)
            {
                int             currentSelectedID = selectedIds[i];
                EZMTreeViewItem selectedItem      = FindItem(currentSelectedID, rootItem) as EZMTreeViewItem;
                selectedItems.Add(selectedItem);
            }

            OnSelectionChanged?.Invoke(selectedItems);
        }
Пример #3
0
 private void AddElement(EZMTreeViewItem parentItem, System.Type type)
 {
 }