using UnityEditor; using UnityEngine; namespace BFEditor.Build { public enum BFPlatformOptions { AndroidDev = 1, AndroidTest, AndroidGP, AndroidGPRU } public class BuildProjectWindow : EditorWindow { private static int VersionCode = 4; private static string VersionName = "1.2.10"; private static int VersionCodeRU = 12; private static string VersionNameRU = "0.4.9"; BFPlatformOptions platform = BFPlatformOptions.AndroidDev; const string ANDROID_GP_PACKAGE_NAME = "com.juzu.b6.dev.android"; public BuildProjectWindow() { titleContent = new GUIContent("打包"); } private void OnEnable() { } void OnGUI() { string packageName; string mode; string versionName = VersionName; int versionCode = VersionCode; bool skipVersion = false; string appType; if (platform == BFPlatformOptions.AndroidDev) { packageName = ANDROID_GP_PACKAGE_NAME; skipVersion = true; mode = BuildMode.DEV; versionName = "0.1.0"; versionCode = 1; appType = "内网测试包"; } else if(platform == BFPlatformOptions.AndroidTest) { packageName = ANDROID_GP_PACKAGE_NAME; mode = BuildMode.TEST; versionName = "0.1.0"; versionCode = 1; appType = "外网测试包"; } else if(platform == BFPlatformOptions.AndroidGP) { packageName = ANDROID_GP_PACKAGE_NAME; mode = BuildMode.PUBLISH; appType = "外网正式包"; } else { packageName = ANDROID_GP_PACKAGE_NAME; skipVersion = true; mode = BuildMode.DEV; versionName = "0.1.0"; versionCode = 1; appType = "内网测试包"; } GUILayout.BeginVertical("box"); EditorGUILayout.LabelField("选择"); platform = (BFPlatformOptions)EditorGUILayout.EnumPopup("", platform); EditorGUILayout.Space(); EditorGUILayout.LabelField("版本: " + versionName); EditorGUILayout.Space(); EditorGUILayout.LabelField("包名: " + packageName); EditorGUILayout.Space(); EditorGUILayout.LabelField(appType); EditorGUILayout.Space(); EditorGUILayout.Space(); var buildInfo = new BuildInfo(); buildInfo.version = versionName; buildInfo.versionCode = versionCode; buildInfo.mode = mode; buildInfo.bundleName = packageName; buildInfo.skipVersion = skipVersion; if (GUILayout.Button("一键APK")) { buildInfo.exportProject = false; buildInfo.onlyAssetBundle = false; BuildProjectTools.BuildBFPlayer(buildInfo); } EditorGUILayout.Space(); EditorGUILayout.Space(); EditorGUILayout.Space(); EditorGUILayout.Space(); EditorGUILayout.Space(); if (GUILayout.Button("仅导出工程")) { buildInfo.exportProject = true; buildInfo.onlyAssetBundle = false; BuildProjectTools.BuildBFPlayer(buildInfo); } EditorGUILayout.Space(); EditorGUILayout.Space(); EditorGUILayout.Space(); EditorGUILayout.Space(); EditorGUILayout.Space(); if (GUILayout.Button("仅打ab包")) { buildInfo.exportProject = true; buildInfo.onlyAssetBundle = true; BuildProjectTools.BuildBFPlayer(buildInfo); } GUILayout.EndVertical(); } public static void ShowWindow() { var window = GetWindow(); window.Show(); } } }