public void Refresh(InspectorElement element) { mSelectNodel = ((BundleListWindow)mOwnerWindow).SelectNodel; cacheBundleObject = element; scrollVector2 = Vector2.zero; cacheFolderObject = cacheBundleObject as InspectorElementFolder; cachePrefabObject = cacheBundleObject as InspectorElementPrefab; if (cachePrefabObject != null) { LoadAsset(cachePrefabObject.Depends); } }
public InspectorElement CreateInspectorElement(ref string assetFilePath, bool isFolder) { InspectorElement element = null; if (isFolder) { element = new InspectorElementFolder(assetFilePath); } else if (Path.GetExtension(assetFilePath) == ".prefab") { element = new InspectorElementPrefab(assetFilePath); } else { element = new InspectorElement(assetFilePath); } return(element); }
public static void BuildSingleByElementFolder(InspectorElementFolder folder, ListElement noder, bool immediatelyExecute = false) { //ClearBundleName(); if (!immediatelyExecute && folder.IsIgnoreAll) { Debug.Log(string.Format("忽略文件 [{0}]!", folder.AssetFilePath)); return; } // common List <AssetBundleBuild> allBundle = new List <AssetBundleBuild>(); allBundle.AddRange(GetCommonBuilds()); // all file List <ListElement> allElements = new List <ListElement>(); if (folder.isIgnore) { GetSubFolderChildElements(noder, ref allElements); } else { GetAllChildElements(noder, ref allElements); } if (allElements.Count == 0) { Debug.Log(string.Format("当前文件夹中 [{0}] 不包含任何文件!", folder.AssetFilePath)); return; } HashSet <string> filterStr = new HashSet <string>(); for (int i = 0; i < allElements.Count; i++) { // ReSharper disable once SuspiciousTypeConversion.Global var elementData = allElements[i].ElementData as HierarchyListWindow.HierarchyElementData; if (elementData != null && !elementData.IsFolder) { InspectorElement elementPrefab = elementData.ElementData as InspectorElementPrefab; if (elementPrefab != null) { if (elementPrefab.isIgnore == false) { var eledata = GetBundleBuildByElementPrefab((InspectorElementPrefab)elementPrefab); for (int j = 0; j < eledata.Count; j++) { if (filterStr.Contains(eledata[j].assetBundleName) == false) { filterStr.Add(eledata[j].assetBundleName); allBundle.Add(eledata[j]); } } } else { Debug.Log(string.Format("Ignore Asset File [{0}]!", elementPrefab.AssetFilePath)); } } //elementPrefab = ; //if (BundleDataManager.Instance.ResourcElements.TryGetValue(elementData.AssetFilePath, out elementPrefab)) //{ //} } } BuildAssetBundles(Application.dataPath + "/../../Resources/TestBuildNew", ref allBundle); //string outputFile = Application.dataPath + "/../../Resources/TestBuildNew"; //if (Directory.Exists(outputFile) == false) // Directory.CreateDirectory(outputFile); //BuildPipeline.BuildAssetBundles(outputFile, allBundle.ToArray(), BuildAssetBundleOptions.None, BundleSetting.UnityBuildTarget); //Debug.Log(outputFile); }
public static void BuildSingleByElementFolder(InspectorElementFolder folder, ListElement noder, bool immediatelyExecute = false) { //ClearBundleName(); if (!immediatelyExecute && folder.IsIgnoreAll) { Debug.Log(string.Format("忽略文件 [{0}]!", folder.AssetFilePath)); return; } // common List<AssetBundleBuild> allBundle = new List<AssetBundleBuild>(); allBundle.AddRange(GetCommonBuilds()); // all file List<ListElement> allElements = new List<ListElement>(); if (folder.isIgnore) GetSubFolderChildElements(noder, ref allElements); else { GetAllChildElements(noder, ref allElements); } if (allElements.Count == 0) { Debug.Log(string.Format("当前文件夹中 [{0}] 不包含任何文件!", folder.AssetFilePath)); return; } HashSet<string> filterStr = new HashSet<string>(); for (int i = 0; i < allElements.Count; i++) { // ReSharper disable once SuspiciousTypeConversion.Global var elementData = allElements[i].ElementData as HierarchyListWindow.HierarchyElementData; if (elementData != null && !elementData.IsFolder) { InspectorElement elementPrefab = elementData.ElementData as InspectorElementPrefab; if (elementPrefab != null) { if (elementPrefab.isIgnore == false) { var eledata = GetBundleBuildByElementPrefab((InspectorElementPrefab)elementPrefab); for (int j = 0; j < eledata.Count; j++) { if (filterStr.Contains(eledata[j].assetBundleName) == false) { filterStr.Add(eledata[j].assetBundleName); allBundle.Add(eledata[j]); } } } else { Debug.Log(string.Format("Ignore Asset File [{0}]!", elementPrefab.AssetFilePath)); } } //elementPrefab = ; //if (BundleDataManager.Instance.ResourcElements.TryGetValue(elementData.AssetFilePath, out elementPrefab)) //{ //} } } BuildAssetBundles(Application.dataPath + "/../../Resources/TestBuildNew", ref allBundle); //string outputFile = Application.dataPath + "/../../Resources/TestBuildNew"; //if (Directory.Exists(outputFile) == false) // Directory.CreateDirectory(outputFile); //BuildPipeline.BuildAssetBundles(outputFile, allBundle.ToArray(), BuildAssetBundleOptions.None, BundleSetting.UnityBuildTarget); //Debug.Log(outputFile); }