void TryConnect() { //itemA = EditorGUILayout.ObjectField("元素A", itemA, typeof(ElementItemBehaiver), true) as ElementItemBehaiver; node_A = EditorGUILayout.ObjectField("A子节点", node_A, typeof(PortItemBehaiver), true) as PortItemBehaiver; //itemB = EditorGUILayout.ObjectField("元素B", itemB, typeof(ElementItemBehaiver), true) as ElementItemBehaiver; node_B = EditorGUILayout.ObjectField("B子节点", node_B, typeof(PortItemBehaiver), true) as PortItemBehaiver; if (node_A != null) { item_A = FindInoutItem(node_A); } if (node_B != null) { item_B = FindInoutItem(node_B); } if (node_A == null || node_B == null || item_A == null || item_B == null) { return; } using (var group = new EditorGUILayout.HorizontalScope()) { if (GUILayout.Button("建立坐标关系")) { CreateConnect(); } if (GUILayout.Button("加载已经连接")) { LoadConnect(); } } }
PortParentBehaiver FindInoutItem(PortItemBehaiver node) { Transform parent = node.transform.parent; while (parent.GetComponent <PortParentBehaiver>() == null) { parent = parent.parent; } return(parent.GetComponent <PortParentBehaiver>()); }