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); }
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); }