Esempio n. 1
0
    /// <summary>
    /// 使用数据创建Tree
    /// </summary>
    public void CreateByData(string treeName, RectTransform parentTrm, RectTransform treeRootTrm, float offx, float offy, byte[] data)
    {
        Name = treeName;
        IoBuffer ib = new IoBuffer();

        ib.PutBytes(data);

        bool   bFolder  = ib.GetBool();     //这里第一个节点一定是根节点,但是还是按正常数据读下
        string name     = ib.GetString();
        int    listSize = ib.GetInt();

        //VLog.I("TreeContainer","CreateByData","bFolder:"+bFolder+" name:"+name+" listSize:"+listSize);

        //这里需要创建
        TreeRootTrm = treeRootTrm;
        RootFolder  = TreeFolder.CreateRootFolder(treeName, parentTrm, this, offx, offy);


        for (int i = 0; i < listSize; i++)
        {
            //CreateOneItem(ib);
            bFolder = ib.GetBool();

            if (bFolder)
            {
                RootFolder.AddFolderByData(ib);
            }
            else
            {
                RootFolder.AddItemByData(ib);
            }
        }
    }
Esempio n. 2
0
    /// <summary>
    /// 使用外部数据填充增加folder
    /// </summary>
    /// <param name="ib">Ib.</param>
    public void AddFolderByData(IoBuffer ib)
    {
        bool   bFolder  = false;
        string name     = ib.GetString();
        int    listSize = ib.GetInt();

        if (!BeFolderOpen)
        {
            OpenFolder();
        }
        TreeFolder curTreeFolder = TreeFolder.CreateSubFolder(name, this, MyTreeContainer);


        for (int i = 0; i < listSize; i++)
        {
            //CreateOneItem(ib);
            bFolder = ib.GetBool();

            if (bFolder)
            {
                curTreeFolder.AddFolderByData(ib);
            }
            else
            {
                curTreeFolder.AddItemByData(ib);
            }
        }
    }