internal override void HandleReparent(string parentName, BundleFolderInfo newParent = null)
        {
            RefreshAssetList();
            string newName = string.IsNullOrEmpty(parentName) ? "" : parentName + '/';

            newName += m_Name.shortName;
            if (newName == m_Name.bundleName)
            {
                return;
            }

            if (newParent != null && newParent.GetChild(newName) != null)
            {
                Model.LogWarning("An item named '" + newName + "' already exists at this level in hierarchy.  If your desire is to merge bundles, drag one on top of the other.");
                return;
            }

            foreach (var asset in m_ConcreteAssets)
            {
                Model.MoveAssetToBundle(asset, newName, m_Name.variant);
            }

            if (newParent != null)
            {
                m_Parent.HandleChildRename(m_Name.shortName, string.Empty);
                m_Parent = newParent;
                m_Parent.AddChild(this);
            }
            m_Name.SetBundleName(newName, m_Name.variant);
        }
        internal override void HandleReparent(string parentName, BundleFolderInfo newParent = null)
        {
            string newName = string.IsNullOrEmpty(parentName) ? "" : parentName + '/';

            newName += displayName;
            if (newName == m_Name.bundleName)
            {
                return;
            }

            if (newParent != null && newParent.GetChild(newName) != null)
            {
                Model.LogWarning("An item named '" + newName + "' already exists at this level in hierarchy.  If your desire is to merge bundles, drag one on top of the other.");
                return;
            }

            foreach (var child in m_Children)
            {
                child.Value.HandleReparent(parentName);
            }

            if (newParent != null)
            {
                m_Parent.HandleChildRename(m_Name.shortName, string.Empty);
                m_Parent = newParent;
                m_Parent.AddChild(this);
            }
            m_Name.SetBundleName(newName, string.Empty);
        }
 internal BundleDataInfo(string name, BundleFolderInfo parent) : base(name, parent)
 {
     m_ConcreteAssets     = new List <AssetInfo>();
     m_DependentAssets    = new List <AssetInfo>();
     m_BundleDependencies = new List <BundleDependencyInfo>();
     m_ConcreteCounter    = 0;
     m_DependentCounter   = 0;
 }
 static void GetAllBundle(Dictionary <string, BundleInfo> .ValueCollection dic, List <BundleInfo> list)
 {
     foreach (var item in dic)
     {
         BundleFolderInfo folderInfo = item as BundleFolderInfo;
         if (folderInfo != null)
         {
             var dic2 = folderInfo.GetChildList();
             GetAllBundle(dic2, list);
         }
         else
         {
             list.Add(item);
         }
     }
 }
 private void DragPathsToNewSpace(string[] paths, AssetBundleModel.BundleFolderInfo root)
 {
     dragToNewSpacePaths = paths;
     dragToNewSpaceRoot  = root;
     if (paths.Length > 1)
     {
         GenericMenu menu = new GenericMenu();
         menu.AddItem(new GUIContent("Create 1 Bundle"), false, DragPathsAsOneBundle);
         var message = "Create ";
         message += paths.Length;
         message += " Bundles";
         menu.AddItem(new GUIContent(message), false, DragPathsAsManyBundles);
         menu.ShowAsContext();
     }
     else
     {
         DragPathsAsManyBundles();
     }
 }
 internal BundleVariantDataInfo(string name, BundleFolderInfo parent) : base(name, parent)
 {
 }
 abstract internal void HandleReparent(string parentName, BundleFolderInfo newParent = null);
 internal BundleInfo(string name, BundleFolderInfo parent)
 {
     m_Name   = new BundleNameData(name);
     m_Parent = parent;
 }
 internal BundleFolderConcreteInfo(List <string> path, int depth, BundleFolderInfo parent) : base(path, depth, parent)
 {
 }
 internal BundleFolderConcreteInfo(string name, BundleFolderInfo parent) : base(name, parent)
 {
 }