Assets/Editor/Tool/AssetBundleBuildExtersion.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
Assets/Editor/Tool/AssetBundleBuildTool.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
Assets/Editor/Tool/AssetBundleBuildTool.cs.meta | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
Assets/Editor/Tool/UpdateAssetBundleName.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
Assets/Editor/Tool/AssetBundleBuildExtersion.cs
@@ -1,12 +1,12 @@ using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEditor; using System.IO; using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEditor; using System.IO; 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, bool rebuild = true) { var assetBundles = AssetDatabase.GetAllAssetBundleNames(); var targetAssetBundles = new List<string>(); @@ -51,12 +51,11 @@ var manifest = StringUtility.Contact(output, Path.AltDirectorySeparatorChar, GetMainFestFileName(buildTarget), ".manifest"); var manifestRename = StringUtility.Contact(output, Path.AltDirectorySeparatorChar, category, "_assetbundle.manifest"); if (Directory.Exists(rootPath)) { if (rebuild && Directory.Exists(rootPath)) Directory.Delete(rootPath, true); } Directory.CreateDirectory(rootPath); // if (!Directory.Exists(rootPath)) // Directory.CreateDirectory(rootPath); if (File.Exists(mainFileRename)) { @@ -87,20 +86,20 @@ default: return string.Empty; } } [MenuItem("Assets/BuildAssetBundle ( Test )")] } [MenuItem("Assets/BuildAssetBundle ( Test )")] public static void BuildTest() { if (Selection.activeObject != null) { if (Selection.activeObject != null) { var path = AssetDatabase.GetAssetPath(Selection.activeObject); var importer = AssetImporter.GetAtPath(path); if (importer != null) { var ab = importer.assetBundleName; if (!string.IsNullOrEmpty(ab)) var importer = AssetImporter.GetAtPath(path); if (importer != null) { var ab = importer.assetBundleName; if (!string.IsNullOrEmpty(ab)) { var assetBundles = AssetDatabase.GetAllAssetBundleNames(); @@ -129,15 +128,15 @@ | BuildAssetBundleOptions.DeterministicAssetBundle; var dirctory = Application.dataPath + "/BundleTest"; if (!Directory.Exists(dirctory)) { Directory.CreateDirectory(dirctory); if (!Directory.Exists(dirctory)) { Directory.CreateDirectory(dirctory); } BuildPipeline.BuildAssetBundles(dirctory, assets.ToArray(), opt, BuildTarget.Android); } } BuildPipeline.BuildAssetBundles(dirctory, assets.ToArray(), opt, BuildTarget.Android); } } } } } } } Assets/Editor/Tool/AssetBundleBuildTool.cs
New file @@ -0,0 +1,39 @@ using UnityEngine; using UnityEditor; using System.IO; using System.Collections.Generic; namespace Assets.Editor.Tool { public class AssetBundleBuildTool { [MenuItem("Tools/AB增量打包(不设置Label)")] static void DoIt() { BuildAssetBundleOptions opt = BuildAssetBundleOptions.ChunkBasedCompression | BuildAssetBundleOptions.DeterministicAssetBundle | BuildAssetBundleOptions.StrictMode; string outputPath = StringUtility.Contact(Application.streamingAssetsPath, Path.AltDirectorySeparatorChar, EditorUserBuildSettings.activeBuildTarget.ToString()); if (!Directory.Exists(outputPath)) Directory.CreateDirectory(outputPath); AssetBundleBuildExtersion.Build(outputPath, "builtin", opt, EditorUserBuildSettings.activeBuildTarget,false); AssetBundleBuildExtersion.Build(outputPath, "audio", opt, EditorUserBuildSettings.activeBuildTarget,false); AssetBundleBuildExtersion.Build(outputPath, "mobeffectshader", opt, EditorUserBuildSettings.activeBuildTarget,false); AssetBundleBuildExtersion.Build(outputPath, "config", opt, EditorUserBuildSettings.activeBuildTarget,false); TableTool.CopyConfigsToOutPutPath(StringUtility.Contact(outputPath, "/config")); LuaBuildHelper.OnPreBuild(); UpdateLuaSetting.SetAllLuaAssetBundleName(); AssetBundleBuildExtersion.Build(outputPath, "lua", opt, EditorUserBuildSettings.activeBuildTarget,false); LuaBuildHelper.OnPostBuild(); AssetBundleBuildExtersion.Build(outputPath, "maps", opt, EditorUserBuildSettings.activeBuildTarget,false); AssetBundleBuildExtersion.Build(outputPath, "ui", opt, EditorUserBuildSettings.activeBuildTarget,false); } } } Assets/Editor/Tool/AssetBundleBuildTool.cs.meta
New file @@ -0,0 +1,11 @@ fileFormatVersion: 2 guid: 05891236d737b6346978914f9a70efcb MonoImporter: externalObjects: {} serializedVersion: 2 defaultReferences: [] executionOrder: 0 icon: {instanceID: 0} userData: assetBundleName: assetBundleVariant: Assets/Editor/Tool/UpdateAssetBundleName.cs
@@ -4,6 +4,27 @@ using UnityEditor; using System.IO; public class UpdateAllSetting { [MenuItem("程序/设置资源包名/更新全部AssetBundleName")] public static void SetAllAssetBundleName() { UpdateSpriteSetting.SetAllSpriteAssetBundleName(); UpdateUIWindowSetting.SetAllUIWindowAssetBundleName(); UpdateUIPrefabSetting.SetAllUIPrefabAssetBundleName(); UpdateEffectPrefabSetting.SetAllEffectPrefabAssetBundleName(); UpdateMobSetting.SetAllMobAssetBundleName(); UpdateShaderSetting.SetAllShaderAssetBundleName(); UpdateScriptableObjectsSetting.SetAllScriptableObjectAssetBundleName(); UpdateLevelSetting.SetAllLevelAssetBundleName(); UpdateAudioSetting.SetAllAudioAssetBundleName(); UpdateVideoSetting.SetAllVideoAssetBundleName(); UpdateLuaSetting.SetAllLuaAssetBundleName(); UpdateBuiltInSetting.SetBuiltinAssetBundleName(); } } public class UpdateSpriteSetting {