private void OnGUI() { if (GUILayout.Button(IsEnglish ? "切换为中文" : "Switch to English")) { IsEnglish = !IsEnglish; EditorPrefs.SetBool("BundleBuilderToolLanguage", IsEnglish); } EditorGUILayout.Space(); EditorGUILayout.LabelField(IsEnglish ? "Introduction:" : "说明:"); EditorGUILayout.LabelField(IsEnglish ? "Build assetbundles by using Unity's assetbundle build settings" : "简单打包AssetBundle"); EditorGUILayout.LabelField(IsEnglish ? "You need to assign each asset a assetbundle name in Unity Editor before you use this tool" : "使用前需要在Unity中为Asset设置好AssetBundle标签"); EditorGUILayout.Space(); EditorGUILayout.BeginHorizontal(); m_buildPath = EditorGUILayout.TextField(IsEnglish ? "Bundle Export Path" : "Bundle包导出路径", m_buildPath); if (GUILayout.Button(IsEnglish ? "Browse" : "浏览")) { string dir = EditorUtility.OpenFolderPanel(IsEnglish ? "Choose Export Path" : "选择导出目录", "", ""); if (!string.IsNullOrEmpty(dir)) { m_buildPath = dir; } } EditorGUILayout.EndHorizontal(); m_buildTarget = (BundleBuildTarget)EditorGUILayout.EnumPopup(IsEnglish ? "Build Platform" : "导出平台", m_buildTarget); EditorGUILayout.Space(); if (GUILayout.Button(IsEnglish ? "Start Building" : "打包")) { AssetsBundleBuilder.BuildAssetBundles(m_buildPath, m_buildTarget); } }
public static void BuildAssetBundles(string buildPath, BundleBuildTarget bundleBuildTarget, BundleBuildSettings settings = null) { BuildTarget buildTarget = BuildTarget.NoTarget; switch (bundleBuildTarget) { case BundleBuildTarget.Android: buildTarget = BuildTarget.Android; break; case BundleBuildTarget.iOS: buildTarget = BuildTarget.iOS; break; case BundleBuildTarget.Windows: buildTarget = BuildTarget.StandaloneWindows; break; } createAssetBundle(buildPath, buildTarget, settings); createAssetsInfo(buildPath); }
private void OnGUI() { if (GUILayout.Button(IsEnglish ? "切换为中文" : "Switch to English")) { IsEnglish = !IsEnglish; EditorPrefs.SetBool("BundleBuilderToolLanguage", IsEnglish); } EditorGUILayout.Space(); EditorGUILayout.LabelField(IsEnglish ? "Introduction:" : "说明:"); EditorGUILayout.LabelField(IsEnglish ? "Build assetbundles by using custom assetbundle build settings" : "自定义打包AssetBundle"); EditorGUILayout.LabelField(IsEnglish ? "Custom assetbundle build settings allows you choose a directory, and build files in that directory into assetbundle." : "不使用Unity为Asset设置的AssetBundle标签"); EditorGUILayout.LabelField(IsEnglish ? "Custom bundle builder will ignore the assetbundle settings you set in Unity Editor" : "采用遍历文件夹的方式决定将哪些Asset打到哪个bundle里"); EditorGUILayout.Space(); EditorGUILayout.BeginHorizontal(); EditorGUILayout.LabelField(IsEnglish ? "Bundle Count" : "Bundle数量", m_settings.BundleCount.ToString()); if (GUILayout.Button(IsEnglish ? "Add Bundle" : "添加")) { m_settings.AddItem(); } EditorGUILayout.EndHorizontal(); m_scrollPos = EditorGUILayout.BeginScrollView(m_scrollPos, GUILayout.Height(400)); if (m_settings.BuildItems != null) { int deleteIndex = -1; for (int i = 0; i < m_settings.BuildItems.Length; i++) { var item = m_settings.BuildItems[i]; EditorGUILayout.BeginHorizontal("box"); EditorGUILayout.BeginVertical(); item.Name = EditorGUILayout.TextField("BundleName", item.Name); EditorGUILayout.BeginHorizontal(); item.RootPath = EditorGUILayout.TextField("RootPath", item.RootPath); if (GUILayout.Button(IsEnglish ? "Browse" : "浏览")) { string dir = EditorUtility.OpenFolderPanel(IsEnglish ? "Choose Bundle Resource Root Path" : "选择Bundle资源根目录", Application.dataPath, ""); if (!string.IsNullOrEmpty(dir)) { if (dir.StartsWith(Application.dataPath)) { item.RootPath = "Assets" + dir.Substring(Application.dataPath.Length); } } } EditorGUILayout.EndHorizontal(); item.DrawIncludeExt(IsEnglish); EditorGUILayout.Space(); item.DrawExcludeExt(IsEnglish); EditorGUILayout.Space(); item.DrawExcludeDir(IsEnglish); EditorGUILayout.Space(); EditorGUILayout.EndVertical(); if (GUILayout.Button(IsEnglish ? "Delete" : "删除")) { deleteIndex = i; } EditorGUILayout.EndHorizontal(); } if (deleteIndex != -1) { m_settings.DeleteItem(deleteIndex); deleteIndex = -1; } } EditorGUILayout.EndScrollView(); EditorGUILayout.Space(); if (GUILayout.Button(IsEnglish ? "Save Build Settings" : "保存配置")) { SaveConfig(); } EditorGUILayout.Space(); EditorGUILayout.BeginHorizontal(); m_buildPath = EditorGUILayout.TextField(IsEnglish ? "Bundle Export Path" : "Bundle包导出路径", m_buildPath); if (GUILayout.Button(IsEnglish ? "Browse" : "浏览")) { string dir = EditorUtility.OpenFolderPanel(IsEnglish ? "Choose Export Path" : "选择导出目录", "", ""); if (!string.IsNullOrEmpty(dir)) { m_buildPath = dir; } } EditorGUILayout.EndHorizontal(); m_buildTarget = (BundleBuildTarget)EditorGUILayout.EnumPopup(IsEnglish ? "Build Platform" : "导出平台", m_buildTarget); EditorGUILayout.Space(); if (GUILayout.Button(IsEnglish ? "Start Building" : "打包")) { AssetsBundleBuilder.BuildAssetBundles(m_buildPath, m_buildTarget, m_settings); } }