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); }
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; }
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)); }
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(); //Rebuild(); }
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); }
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); }
private static string GetUniqueName(BundleFolderInfo folder, string suggestedName = null) { suggestedName = (suggestedName == null) ? kNewBundleBaseName : 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); }
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(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); }
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); }
public BundleVariantFolderInfo(string name, BundleFolderInfo parent) : base(name, parent) { }
public BundleFolderConcreteInfo(List <string> path, int depth, BundleFolderInfo parent) : base(path, depth, parent) { }
public BundleFolderConcreteInfo(string name, BundleFolderInfo parent) : base(name, parent) { }
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); }
public BundleFolderInfo(string name, BundleFolderInfo parent) : base(name, parent) { m_children = new Dictionary <string, BundleInfo>(); }
abstract public void HandleReparent(string parentName, BundleFolderInfo newParent = null);
public BundleInfo(string name, BundleFolderInfo parent) { m_name = new BundleNameData(name); m_parent = parent; }