public void Awake()
 {
     _baseRoot      = NodeFactoryXML.CreateEditorControl <EditorBaseRoot>();
     _baseRoot.Root = this;
     NodeFactoryXML.InitControl(this);
     Start();
 }
        public void AddToggle(object content)
        {
            EditorToggle toggle = NodeFactoryXML.CreateEditorControl <EditorToggle>();

            _toggles.Add(toggle);

            toggle.Content = content;
            toggle.OnActiveChange.Add(OnValueChange);
        }
        /// <summary>
        /// 创建一个节点(没有层级关系)
        /// </summary>
        /// <param name="param"></param>
        /// <returns></returns>
        private static BeTreeNode CreateBTN(this NodeParam param)
        {
            BeTreeNode btn = NodeFactoryXML.CreateEditorControl <BeTreeNode>();

            btn.SrcTreeID    = param.SrcTreeID;
            btn.NodeID       = param.NodeID;
            btn.ChildrenShow = param.IsShowChild;
            btn.Active       = param.IsShow;
            _dict.Add(btn.NodeID, btn);
            return(btn);
        }
        public static EditorPopupMenu NodeRightClickPanel(BeTreeNode node)
        {
            EditorPopupMenu menu = NodeFactoryXML.CreateEditorControl <EditorPopupMenu>();

            menu.AddMenu("Copy", obj => _canvas.CopyItem(node));
            menu.AddMenu("Paste", obj => _canvas.PasteItem(node));
            menu.AddMenu("Delete", obj => _canvas.DeleteItem(node));
            menu.AddMenu("Create sub node", obj => _canvas.ShowExPanel(node));
            menu.AddMenu("Change node", obj => _canvas.ShowExPanelExchange(node));
            return(menu);
        }
Пример #5
0
        public void AddItem(string name, EditorPopupMenu pop)
        {
            EditorButton btn = NodeFactoryXML.CreateEditorControl <EditorButton>();

            btn.Content      = name;
            btn.DefaultStyle = true;
            btn.Style        = EditorStyles.toolbarDropDown;
            btn.OnBtnClick   = OnSelectBtnClick;
            btn.Size         = new Vector2(100, Size.y);
            _name2Context.Add(btn, pop);
            HorList.AddItem(btn);
        }
        public void AddItem(int treeFlag)
        {
            EditorButton btn = NodeFactoryXML.CreateEditorControl <EditorButton>();

            btn.DefaultStyle = true;
            btn.Style        = EditorStyles.miniButton;
            btn.Size         = new Vector2(Size.x, 30);
            int index = AutoList.Count;

            btn.Content = $"{index}";
            AutoList.AddItem(btn);
            btn.OnBtnClick = b => { FrameSelected?.Invoke(treeFlag, int.Parse(b.Content.ToString()), this); };
        }
Пример #7
0
        public void AddMenu(object data, Action <object> callBack)
        {
            _objCallBack.Add(data, callBack);
            EditorButton btn = NodeFactoryXML.CreateEditorControl <EditorButton>();

            btn.OnBtnClick = (curBtn) => { SetParent(null); _objCallBack[curBtn.Content](curBtn.Content); };
            btn.SetParent(this);
            btn.Size          = BTN_SIZE;
            btn.Content       = data;
            btn.LocalPosition = new Vector2(0, BTN_SIZE.y * _buttons.Count);

            btn.Style        = "Button";
            btn.DefaultStyle = true;

            _buttons.Add(data, btn);
            ReCalu();
        }
Пример #8
0
        private EditorButton CreateButton(int index)
        {
            EditorButton button = NodeFactoryXML.CreateEditorControl <EditorButton>();

            button.Size = new Vector2(275, 30);
            button.SetParent(DataButton);
            button.LocalPosition = new Vector2(5, 30 * index);
            button.OnBtnClick    = (e) =>
            {
                Type type = (button.Content as NodeParam).NodeType;
                if (_isAdd)
                {
                    OnAddSelected?.Invoke(type);
                }
                else
                {
                    OnChangeSelected?.Invoke(type);
                }
                Active = false;
            };
            return(button);
        }
Пример #9
0
        public override void Start()
        {
            base.Start();
            minSize = new Vector2(300, 300);

            EditorPopupMenu mainPopup = NodeFactoryXML.CreateEditorControl <EditorPopupMenu>();

            mainPopup.AddMenu("Save", obj => OnSave?.Invoke());
            mainPopup.AddMenu("Open", obj => OpenPanel());
            mainPopup.AddMenu("Create(Server)", obj => CreatePanel("txt"));
            mainPopup.AddMenu("Create(Client)", obj => CreatePanel("prefab"));
            ToolBar.AddItem("Files", mainPopup);

            EditorPopupMenu searchPop = NodeFactoryXML.CreateEditorControl <EditorPopupMenu>();

            searchPop.AddMenu("Open search panel", obj => SearchPanel.Active  = true);
            searchPop.AddMenu("Close search panel", obj => SearchPanel.Active = false);
            ToolBar.AddItem("Search", searchPop);

            EditorPopupMenu debugPop = NodeFactoryXML.CreateEditorControl <EditorPopupMenu>();

            debugPop.AddMenu("Pause", obj => DebugPanel.IsStop  = true);
            debugPop.AddMenu("Resume", obj => DebugPanel.IsStop = false);
            debugPop.AddMenu("Clear", obj => DebugPanel.TryClear());
            ToolBar.AddItem("Debug", debugPop);

            EditorPopupMenu configPop = NodeFactoryXML.CreateEditorControl <EditorPopupMenu>();

            configPop.AddMenu("Reset ID", obj => ResetID?.Invoke());
            configPop.AddMenu("Open config panel", obj => GetWindow <TreeConfigPanel>());
            configPop.AddMenu("Search node", obj => GetWindow <TreeSearchPanel>());
            configPop.AddMenu("Change node", obj => GetWindow <NodeReplacePanel>());
            ToolBar.AddItem("Tool&Config", configPop);

            SearchPanel.OnSearch     = SearchParam;
            SearchPanel.LocationNode = LocateNode;
        }
Пример #10
0
 public EditorToolBar()
 {
     Style   = EditorStyles.toolbar;
     HorList = NodeFactoryXML.CreateEditorControl <EditorHorizontalList>();
     HorList.SetParent(this);
 }
 public override void InitFinish()
 {
     base.InitFinish();
     EditorPopupMenu filePop = NodeFactoryXML.CreateEditorControl <EditorPopupMenu>();
 }