예제 #1
0
        private AssetReferenceDropdownFolderItem CreateParentDropdownItem(AssetReferenceDropdownFolderItem root, AssetReferenceDropdownAssetItem child)
        {
            string childFolderPath = child.FolderPath;

            //获取child的递进式父级文件夹相对路径
            string[] childProgressiveAssetFolderPath    = PathUtility.GetProgressiveAssetFolderPath(childFolderPath);
            AssetReferenceDropdownFolderItem lastParent = root;

            for (int i = 0; i < childProgressiveAssetFolderPath.Length; i++)
            {
                AssetReferenceDropdownFolderItem advancedDropdownItem = GetParentDropdownItem(lastParent, childProgressiveAssetFolderPath[i]);
                if (advancedDropdownItem == null)
                {
                    var parent = new AssetReferenceDropdownFolderItem(childProgressiveAssetFolderPath[i], false);
                    lastParent.AddFolder(parent);
                    lastParent = parent;
                }
                else
                {
                    lastParent = advancedDropdownItem;
                }
            }
            return(lastParent);
        }