Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        /// <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();
        }