2023-04-24 10:03:41 +08:00

90 lines
2.3 KiB
C#

using UnityEditor;
using UnityEngine;
namespace BFEditor.Build
{
public enum BFPlatformOptions
{
AndroidDev = 1,
IOSDev,
AndroidRelease,
AndroidGP,
}
public class BuildProjectWindow : EditorWindow
{
BFPlatformOptions platform = BFPlatformOptions.AndroidDev;
const string ANDROID_DEV_PACKAGE_NAME = "com.juzu.b6.dev.android";
const string ANDROID_RELEASE_PACKAGE_NAME = "com.juzu.b6.release.android";
const string ANDROID_GP_PACKAGE_NAME = "com.knight.connect.rpg";
const string IOS_PACKAGE_NAME = "com.juzu.b6.dev.ios";
public BuildProjectWindow()
{
titleContent = new GUIContent("打包");
}
private void OnEnable() { }
void OnGUI()
{
GUILayout.BeginVertical("box");
EditorGUILayout.LabelField("选择渠道");
platform = (BFPlatformOptions)EditorGUILayout.EnumPopup("", platform);
EditorGUILayout.Space();
EditorGUILayout.LabelField("版本: 0.1.0");
EditorGUILayout.Space();
string packageName;
string mode;
bool skipVersion = false;
if (platform == BFPlatformOptions.AndroidDev)
{
packageName = ANDROID_DEV_PACKAGE_NAME;
skipVersion = true;
mode = "dev_debug";
}
else if(platform == BFPlatformOptions.AndroidRelease)
{
packageName = ANDROID_RELEASE_PACKAGE_NAME;
mode = "release_release";
}
else if(platform == BFPlatformOptions.AndroidGP)
{
packageName = ANDROID_GP_PACKAGE_NAME;
mode = "publish_release";
}
else
{
packageName = IOS_PACKAGE_NAME;
mode = "dev_debug";
}
EditorGUILayout.LabelField("包名: " + packageName);
EditorGUILayout.LabelField("mode: " + mode);
EditorGUILayout.Space();
EditorGUILayout.Space();
if (GUILayout.Button("一键打包"))
{
var buildInfo = new BuildInfo();
buildInfo.version = "0.1.0";
buildInfo.mode = mode;
buildInfo.bundleName = packageName;
buildInfo.skipVersion = skipVersion;
BuildProjectTools.BuildBFPlayer(buildInfo);
}
GUILayout.EndVertical();
}
public static void ShowWindow()
{
var window = GetWindow<BuildProjectWindow>();
window.Show();
}
}
}