コード例 #1
0
    /// <summary>
    /// 递归创建树节点
    /// </summary>
    /// <param name="parentID">Parent I.</param>
    /// <param name="parentDataList">Parent data list.</param>
    public void whileItem(string parentID, IList <UTreeData> parentDataList)
    {
        UTreeData parentTreeData = this.GetItemData(parentID);

        int level = 0;

        if (parentTreeData != null)
        {
            level = parentTreeData.level + 1;
        }

        foreach (UTreeData uTreeData in parentDataList)
        {
            this.itemIndex++;
            uTreeData.level = level;

            UTreeItem uTreeItem = this.CreateTreeItem(this.itemIndex);
            NGUITools.SetActive(uTreeItem.gameObject, true);

            uTreeItem.ChangeData(uTreeData, OnItemClickHandler);
            uTreeItem.transform.localPosition = new Vector3(0f, this.itemHeight - this.itemIndex * this.itemHeight, 0f);

            if (uTreeData.expand)
            {
                IList <UTreeData> childDataList = this.GetChildrenDataList(uTreeData.id);
                if (childDataList != null && childDataList.Count > 0)
                {
                    this.whileItem(uTreeData.id, childDataList);
                }
            }
        }
    }
コード例 #2
0
    /// <summary>
    /// 创建树节点
    /// </summary>
    /// <returns>The tree item.</returns>
    /// <param name="index">Index.</param>
    private UTreeItem CreateTreeItem(int index)
    {
        if (index >= 0 && this.itemList != null && index <= this.itemList.Count)
        {
            return(this.itemList[index - 1].GetComponent <UTreeItem>());
        }

        if (this.uTreeItem == null)
        {
            return(null);
        }
        GameObject treeItemObject = (GameObject)Instantiate(this.uTreeItem.gameObject);

        treeItemObject.GetComponent <RectTransform>().SetParent(m_RootParent);
        treeItemObject.transform.localScale = Vector3.one;

        UTreeItem uTreeItem = treeItemObject.GetComponent <UTreeItem>();

        this.itemList.Add(uTreeItem);

        return(uTreeItem);
    }