Пример #1
0
        void OnSelectNodeChange(TreeNodeBase node)
        {
            CurSelectTreeNode = node;
            Vector2 pos = Event.current.mousePosition + new Vector2(m_CurShowArea.x, m_CurShowArea.y);
            BehaviorTreeEditorMenu menu = m_ParentAttachMenu as BehaviorTreeEditorMenu;

            if (menu != null)
            {
                menu.RecordSelectNode(node as ActionTreeNode, pos);
            }
            ShowOrHideContex(false);
        }
Пример #2
0
            public static void  TryAddLineConnect(NodeLineInfor begin, NodeLineInfor end)
            {
                if (begin == null || end == null)
                {
                    //Debug.Log("TryAddLineConnect Fail, " + (begin == null) + " :  " + (end == null));
                    return;
                }

                //if(begin.m_LineType== NodeInOutEnum.None|| begin.m_LineType == NodeInOutEnum.In)
                //    return; //起点不是输出节点
                //if (end.m_LineType != NodeInOutEnum.InOut || end.m_LineType != NodeInOutEnum.In)
                //    return; //起点不是输入节点

                for (int dex = 0; dex < begin.m_ConnectNodeLine.Count; ++dex)
                {
                    if (begin.m_ConnectNodeLine[dex] == end)
                    {
                        return; //已经包含了这个连线
                    }
                }

                for (int dex = 0; dex < end.m_ConnectNodeLine.Count; ++dex)
                {
                    if (end.m_ConnectNodeLine[dex] == begin)
                    {
                        return; //已经包含了这个连线
                    }
                }

                begin.m_ConnectNodeLine.Add(end);
                end.m_ConnectNodeLine.Add(begin);

                LinConnectInfor connected = new LinConnectInfor(begin, end);

                BehaviorTreeEditorMenu.RecordConnectedLine(connected);
            }