2025-08-05 17:29:22 +08:00

132 lines
3.4 KiB
C#

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.fortune.td.game.global";
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<BuildProjectWindow>();
window.Show();
}
}
}