public void RecordSelectNode(ActionTreeNode node, Vector2 relativePos) { EditorRecordNode recordNode = new EditorRecordNode(node, relativePos); while (m_AllShowingNode.ContainsKey(recordNode.m_UID)) { recordNode.m_UID = GenerateUID.GetUID64(); } m_AllShowingNode.Add(recordNode.m_UID, recordNode); }
/// <summary> /// 绘制当前节点 /// </summary> public virtual void DrawNode(EditorRecordNode recordNode) { if (m_IsInitialed == false) { m_IsInitialed = true; //Debug.Log("DrawNode >>> Initial"); GetAllNodeField(recordNode.m_ActionScript); } Rect rect = new Rect(m_Pos.x, m_Pos.y, GetNodeWidth(), GetNodeHeight()); // Debug.Log("DrawNode rectrect= " + rect); GUI.DrawTexture(rect, EditorImageHelper.GetImageByPath(m_NodeBgImg)); //Debug.Log("xxx zz " + m_NodeBaseWidth * m_NodeWidthScale); GUILayout.BeginArea(rect); GUILayout.BeginVertical(); #region Title GUILayout.Label(new GUIContent(recordNode.m_ActionScript.m_BehaviorActionAttribute.ActionType.Name), Style.Label_Style_Title, GUILayout.Width(GetNodeWidth() - Constants.NodeFieldOffsetBounder), GUILayout.Height(m_NodeTitleHeight)); #endregion #region Node Field GUILayout.BeginArea(new Rect(0, m_NodeTitleHeight, rect.width, rect.height - m_NodeTitleHeight)); float startPos = 0; foreach (var item in m_AllNodeFiled) { DrawNodeField(item, startPos); GUILayout.Space(Constants.NodeFileItemSpace); startPos += Constants.NodeFileItemSpace + GetNodeHeight(item.m_NodeAttribute) * Constants.NodeFieldItemHeight; } GUILayout.EndArea(); #endregion GUILayout.EndVertical(); GUILayout.EndArea(); }