Beispiel #1
0
 public BundleDataInfo(string name, BundleFolderInfo parent) : base(name, parent)
 {
     m_concreteAssets   = new List <AssetInfo>();
     m_dependentAssets  = new List <AssetInfo>();
     m_concreteCounter  = 0;
     m_dependentCounter = 0;
 }
Beispiel #2
0
        private static BundleFolderConcreteInfo AddFoldersToBundle(BundleFolderInfo root, BundleNameData nameData)
        {
            BundleInfo currInfo = root;
            var        folder   = currInfo as BundleFolderConcreteInfo;
            var        size     = nameData.pathTokens.Count;

            for (var index = 0; index < size; index++)
            {
                if (folder != null)
                {
                    currInfo = folder.GetChild(nameData.pathTokens[index]);
                    if (currInfo == null)
                    {
                        currInfo = new BundleFolderConcreteInfo(nameData.pathTokens, index + 1, folder);
                        folder.AddChild(currInfo);
                    }

                    folder = currInfo as BundleFolderConcreteInfo;
                    if (folder == null)
                    {
                        m_InErrorState = true;
                        LogError("Bundle " + currInfo.m_Name.fullNativeName + " has a name conflict with a bundle-folder.  Display of bundle data and building of bundles will not work.");
                        break;
                    }
                }
            }
            return(currInfo as BundleFolderConcreteInfo);
        }
Beispiel #3
0
        private static BundleFolderConcreteInfo AddFoldersToBundle(BundleFolderInfo root, BundleNameData nameData)
        {
            BundleInfo currInfo = root;
            var        folder   = currInfo as BundleFolderConcreteInfo;
            var        size     = nameData.pathTokens.Count;

            for (var index = 0; index < size; index++)
            {
                if (folder != null)
                {
                    currInfo = folder.GetChild(nameData.pathTokens[index]);
                    if (currInfo == null)
                    {
                        currInfo = new BundleFolderConcreteInfo(nameData.pathTokens, index + 1, folder);
                        folder.AddChild(currInfo);
                    }

                    folder = currInfo as BundleFolderConcreteInfo;
                    if (folder == null)
                    {
                        m_InErrorState = true;
                        LogFolderAndBundleNameConflict(currInfo.m_Name.fullNativeName);
                        break;
                    }
                }
            }
            return(currInfo as BundleFolderConcreteInfo);
        }
Beispiel #4
0
        public static BundleInfo CreateEmptyBundle(BundleFolderInfo folder = null, string newName = null)
        {
            folder = (folder == null) ? m_rootLevelBundles : folder;
            string         name     = GetUniqueName(folder, newName);
            BundleNameData nameData = new BundleNameData(folder.m_name.BundleName, name);

            return(AddBundleToFolder(folder, nameData));
        }
Beispiel #5
0
 public static void Rebuild()
 {
     m_rootLevelBundles = new BundleFolderInfo("", null);
     m_moveData         = new List <ABMoveData>();
     m_bundlesToUpdate  = new List <BundleInfo>();
     m_globalAssetList  = new Dictionary <string, AssetInfo>();
     Refresh();
 }
Beispiel #6
0
 public BundleDataInfo(string name, BundleFolderInfo parent) : base(name, parent)
 {
     m_ConcreteAssets     = new List <AssetInfo>();
     m_DependentAssets    = new List <AssetInfo>();
     m_BundleDependencies = new HashSet <string>();
     m_ConcreteCounter    = 0;
     m_DependentCounter   = 0;
 }
Beispiel #7
0
        public static BundleFolderInfo CreateEmptyBundleFolder(BundleFolderInfo folder = null)
        {
            folder = (folder == null) ? m_rootLevelBundles : folder;
            string         name     = GetUniqueName(folder) + "/dummy";
            BundleNameData nameData = new BundleNameData(folder.m_name.Name, name);

            return(AddFoldersToBundle(m_rootLevelBundles, nameData));
        }
Beispiel #8
0
 public static void HandleBundleReparent(IEnumerable <BundleInfo> bundles, BundleFolderInfo parent)
 {
     foreach (var bundle in bundles)
     {
         bundle.HandleReparent(parent.m_name.Name);
     }
     ExecuteAssetMove();
     Rebuild();
 }
Beispiel #9
0
 public static void HandleBundleReparent(IEnumerable <BundleInfo> bundles, BundleFolderInfo parent)
 {
     parent = (parent == null) ? m_RootLevelBundles : parent;
     foreach (var bundle in bundles)
     {
         bundle.HandleReparent(parent.m_Name.bundleName, parent);
     }
     ExecuteAssetMove();
 }
Beispiel #10
0
        private static BundleInfo AddBundleToFolder(BundleFolderInfo root, BundleNameData nameData)
        {
            BundleInfo currInfo = root.GetChild(nameData.ShortName);

            if (currInfo == null)
            {
                currInfo = new BundleDataInfo(nameData.Name, root);
                root.AddChild(currInfo);
            }
            return(currInfo);
        }
Beispiel #11
0
        private static BundleInfo AddBundleToModel(string name)
        {
            if (name == null)
            {
                return(null);
            }

            BundleNameData nameData = new BundleNameData(name);

            BundleFolderInfo folder   = AddFoldersToBundle(m_RootLevelBundles, nameData);
            BundleInfo       currInfo = AddBundleToFolder(folder, nameData);

            return(currInfo);
        }
Beispiel #12
0
        public static BundleInfo CreateEmptyBundle(BundleFolderInfo folder = null, string newName = null)
        {
            if ((folder as BundleVariantFolderInfo) != null)
            {
                return(CreateEmptyVariant(folder as BundleVariantFolderInfo));
            }

            folder = (folder == null) ? m_RootLevelBundles : folder;
            string         name = GetUniqueName(folder, newName);
            BundleNameData nameData;

            nameData = new BundleNameData(folder.m_Name.bundleName, name);
            return(AddBundleToFolder(folder, nameData));
        }
Beispiel #13
0
        private static string GetUniqueName(BundleFolderInfo folder)
        {
            string name          = kNewBundleBaseName;
            int    index         = 1;
            bool   foundExisting = (folder.GetChild(name) != null);

            while (foundExisting)
            {
                name = kNewBundleBaseName + index;
                index++;
                foundExisting = (folder.GetChild(name) != null);
            }
            return(name);
        }
Beispiel #14
0
        private static BundleInfo AddBundleToFolder(BundleFolderInfo root, BundleNameData nameData)
        {
            BundleInfo currInfo = root.GetChild(nameData.shortName);

            if (nameData.variant != string.Empty)
            {
                if (currInfo == null)
                {
                    currInfo = new BundleVariantFolderInfo(nameData.bundleName, root);
                    root.AddChild(currInfo);
                }
                var folder = currInfo as BundleVariantFolderInfo;
                if (folder == null)
                {
                    var message = "Bundle named " + nameData.shortName;
                    message += " exists both as a standard bundle, and a bundle with variants.  ";
                    message += "This message is not supported for display or actual bundle building.  ";
                    message += "You must manually fix bundle naming in the inspector.";

                    LogError(message);
                    return(null);
                }


                currInfo = folder.GetChild(nameData.variant);
                if (currInfo == null)
                {
                    currInfo = new BundleVariantDataInfo(nameData.fullNativeName, folder);
                    folder.AddChild(currInfo);
                }
            }
            else
            {
                if (currInfo == null)
                {
                    currInfo = new BundleDataInfo(nameData.fullNativeName, root);
                    root.AddChild(currInfo);
                }
                else
                {
                    var dataInfo = currInfo as BundleDataInfo;
                    if (dataInfo == null)
                    {
                        m_InErrorState = true;
                        LogError("Bundle " + nameData.fullNativeName + " has a name conflict with a bundle-folder.  Display of bundle data and building of bundles will not work.");
                    }
                }
            }
            return(currInfo);
        }
Beispiel #15
0
        private static string GetUniqueName(BundleFolderInfo folder, string suggestedName = null)
        {
            suggestedName = (suggestedName == null) ? k_NewBundleBaseName : suggestedName;
            string name          = suggestedName;
            int    index         = 1;
            bool   foundExisting = (folder.GetChild(name) != null);

            while (foundExisting)
            {
                name = suggestedName + index;
                index++;
                foundExisting = (folder.GetChild(name) != null);
            }
            return(name);
        }
Beispiel #16
0
        private static BundleFolderInfo AddFoldersToBundle(BundleFolderInfo root, BundleNameData nameData)
        {
            BundleInfo currInfo = root;
            var        size     = nameData.NameTokens.Count;

            for (var index = 0; index < size - 1; index++)
            {
                var folder = currInfo as BundleFolderInfo;
                if (folder != null)
                {
                    currInfo = folder.GetChild(nameData.NameTokens[index]);
                    if (currInfo == null)
                    {
                        currInfo = new BundleFolderInfo(nameData.NameTokens, index + 1, folder);
                        folder.AddChild(currInfo);
                    }
                }
            }
            return(currInfo as BundleFolderInfo);
        }
Beispiel #17
0
        public override void HandleReparent(string parentName, BundleFolderInfo newParent = null)
        {
            string newName = (parentName == "") ? "" : parentName + '/';

            newName += displayName;
            if (newName == m_Name.bundleName)
            {
                return;
            }
            foreach (var child in m_Children)
            {
                child.Value.HandleReparent(newName);
            }

            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);
        }
Beispiel #18
0
        public override void HandleReparent(string parentName, BundleFolderInfo newParent = null)
        {
            RefreshAssetList();
            string newName = (parentName == "") ? "" : parentName + '/';

            newName += m_Name.shortName;
            if (newName == m_Name.bundleName)
            {
                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);
        }
Beispiel #19
0
 public BundleVariantFolderInfo(string name, BundleFolderInfo parent) : base(name, parent)
 {
 }
Beispiel #20
0
 public BundleFolderConcreteInfo(List <string> path, int depth, BundleFolderInfo parent) : base(path, depth, parent)
 {
 }
Beispiel #21
0
 public BundleFolderConcreteInfo(string name, BundleFolderInfo parent) : base(name, parent)
 {
 }
Beispiel #22
0
 public BundleFolderInfo(List <string> path, int depth, BundleFolderInfo parent) : base("", parent)
 {
     m_Children        = new Dictionary <string, BundleInfo>();
     m_Name            = new BundleNameData("");
     m_Name.pathTokens = path.GetRange(0, depth);
 }
Beispiel #23
0
 public BundleFolderInfo(string name, BundleFolderInfo parent) : base(name, parent)
 {
     m_Children = new Dictionary <string, BundleInfo>();
 }
Beispiel #24
0
        void CreateBundleUnderParent(AssetBundleModel.BundleFolderInfo folder)
        {
            var newBundle = AssetBundleModel.Model.CreateEmptyBundle(folder);

            ReloadAndSelect(newBundle.nameHashCode, true);
        }
Beispiel #25
0
 abstract public void HandleReparent(string parentName, BundleFolderInfo newParent = null);
Beispiel #26
0
 public BundleInfo(string name, BundleFolderInfo parent)
 {
     m_Name   = new BundleNameData(name);
     m_Parent = parent;
 }