Assets/Editor/Tool/AssetBundleBuildExtersion.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
Assets/Editor/Tool/BuildExtersion.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
Assets/Editor/Tool/UpdateAssetBundleName.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
Assets/Editor/Tool/AssetBundleBuildExtersion.cs
@@ -6,15 +6,15 @@ public class AssetBundleBuildExtersion { public static void Build(string _output, string _category, BuildAssetBundleOptions _bundleOption, BuildTarget _buildTarget) public static void Build(string output, string category, BuildAssetBundleOptions bundleOption, BuildTarget buildTarget) { var assetBundles = AssetDatabase.GetAllAssetBundleNames(); List<string> targetAssetBundles = new List<string>(); var targetAssetBundles = new List<string>(); for (int i = 0; i < assetBundles.Length; i++) { var bundleName = assetBundles[i]; if (bundleName.StartsWith(_category)) if (bundleName.StartsWith(category)) { targetAssetBundles.Add(bundleName); } @@ -30,11 +30,11 @@ assets.Add(assetBundleBuild); } var rootPath = StringUtility.Contact(_output, Path.AltDirectorySeparatorChar, _category); var mainFile = StringUtility.Contact(_output, Path.AltDirectorySeparatorChar, GetMainFestFileName(_buildTarget)); var mainFileRename = StringUtility.Contact(_output, Path.AltDirectorySeparatorChar, _category, "_assetbundle"); var manifest = StringUtility.Contact(_output, Path.AltDirectorySeparatorChar, GetMainFestFileName(_buildTarget), ".manifest"); var manifestRename = StringUtility.Contact(_output, Path.AltDirectorySeparatorChar, _category, "_assetbundle.manifest"); var rootPath = StringUtility.Contact(output, Path.AltDirectorySeparatorChar, category); var mainFile = StringUtility.Contact(output, Path.AltDirectorySeparatorChar, GetMainFestFileName(buildTarget)); var mainFileRename = StringUtility.Contact(output, Path.AltDirectorySeparatorChar, category, "_assetbundle"); var manifest = StringUtility.Contact(output, Path.AltDirectorySeparatorChar, GetMainFestFileName(buildTarget), ".manifest"); var manifestRename = StringUtility.Contact(output, Path.AltDirectorySeparatorChar, category, "_assetbundle.manifest"); if (Directory.Exists(rootPath)) { @@ -53,11 +53,10 @@ File.Delete(manifestRename); } BuildPipeline.BuildAssetBundles(_output, assets.ToArray(), _bundleOption, _buildTarget); BuildPipeline.BuildAssetBundles(output, assets.ToArray(), bundleOption, buildTarget); File.Move(mainFile, mainFileRename); File.Move(manifest, manifestRename); } static string GetMainFestFileName(BuildTarget _target) Assets/Editor/Tool/BuildExtersion.cs
@@ -155,6 +155,9 @@ { UpdateAudioSetting.SetAllAudioAssetBundleName(); ExcuteBuildAsset("audio", buildParameters); UpdateVideoSetting.SetAllVideoAssetBundleName(); ExcuteBuildAsset("video", buildParameters); } else { @@ -167,8 +170,8 @@ Debug.Log(ex); EditorApplication.Exit(1); } } } public static void BuildShader() { try @@ -289,13 +292,13 @@ } } private static void ExcuteBuildAsset(string _category, BuildParameters _params) private static void ExcuteBuildAsset(string category, BuildParameters @params) { var opt = BuildAssetBundleOptions.None; opt |= BuildAssetBundleOptions.ChunkBasedCompression; opt |= BuildAssetBundleOptions.DeterministicAssetBundle; AssetBundleBuildExtersion.Build(_params.GetWholeOutPutPath(), _category, opt, _params.buildTarget); AssetBundleBuildExtersion.Build(@params.GetWholeOutPutPath(), category, opt, @params.buildTarget); } class BuildParameters Assets/Editor/Tool/UpdateAssetBundleName.cs
@@ -393,6 +393,28 @@ } } public class UpdateVideoSetting { static string rootPath = Application.dataPath + "/ResourcesOut/Video/"; static string assetPath = "Assets/ResourcesOut/Video/"; [MenuItem("程序/设置资源包名/更新Video(All) AssetBundleName")] public static void SetAllVideoAssetBundleName() { var allFiles = new DirectoryInfo(rootPath).GetFiles("*.mp4", SearchOption.AllDirectories); foreach (var file in allFiles) { var importerPath = assetPath + Path.DirectorySeparatorChar + file.Name; var importer = AssetImporter.GetAtPath(importerPath); importer.assetBundleName = "video"; EditorUtility.SetDirty(importer); } AssetDatabase.SaveAssets(); AssetDatabase.Refresh(); } } public class UpdateLuaSetting { static string rootPath = Application.dataPath + "/ResourcesOut/Lua/";