using System.Collections;
using System.Collections.Generic;
using UnityEditor;
using UnityEngine;
public class ExportEditor : EditorWindow
{
[MenuItem("Export/导出")]
public static void ExportLocal()
{
EditorWindow.GetWindow(typeof(ExportEditor), false, "导出exe出来");
}
/// <summary>
/// 设置后,是否自动出包
/// </summary>
private static bool isAutoBuild = false;
/// <summary>
/// 发布平台
/// </summary>
private static int buildTarget = BuildTarget.StandaloneWindows64.GetHashCode();
/// <summary>
/// 版本号
/// </summary>
private static string serverVersion = "2.1";
/// <summary>
/// 平台
/// </summary>
private static ESDKPlatform plat;
void OnGUI()
{
EditorGUILayout.LabelField("导出exe", EditorStyles.boldLabel);
isAutoBuild = EditorGUILayout.Toggle("勾上自动出包", isAutoBuild);
string url = Application.dataPath.Replace("/Assets", "/");
string[] selectNames = {
BuildTarget.StandaloneWindows.ToString(),
BuildTarget.StandaloneWindows64.ToString(),
BuildTarget.Android.ToString(),
BuildTarget.iOS.ToString()
};
int[] selectValues = {
BuildTarget.StandaloneWindows.GetHashCode(),
BuildTarget.StandaloneWindows64.GetHashCode(),
BuildTarget.Android.GetHashCode(),
BuildTarget.iOS.GetHashCode()
};
buildTarget = EditorGUILayout.IntPopup("发布平台", buildTarget, selectNames, selectValues);
if (buildTarget == BuildTarget.StandaloneWindows.GetHashCode() || buildTarget == BuildTarget.StandaloneWindows64.GetHashCode())
{
url += "client/client.exe";
}
else if (buildTarget == BuildTarget.Android.GetHashCode() && plat == ESDKPlatform.ANDROID)
{
url += string.Format("微信登录端{0}.apk", serverVersion);
}
else if (buildTarget == BuildTarget.Android.GetHashCode() && plat == ESDKPlatform.LOCAL)
{
url += string.Format("客户端{0}.apk", serverVersion);
}
else if (buildTarget == BuildTarget.iOS.GetHashCode())
{
url += "XCode";
}
BuildOptions buildOptions = BuildOptions.None;
//if (isDevelopment)
//{
buildOptions |= BuildOptions.Development;
//}
//if (isDebug)
//{
// buildOptions |= BuildOptions.AllowDebugging;
//}
//if (isAutoConnect)
//{
// buildOptions |= BuildOptions.ConnectWithProfiler;
//}
if (GUILayout.Button("设置_生成", GUILayout.Width(180)))//
{
if (isAutoBuild)
{
BuildPipeline.BuildPlayer(GetBuildScenes(), url, (BuildTarget)buildTarget, buildOptions);
string folderUrl = url;
while (folderUrl.IndexOf('/') != -1)
{
folderUrl = folderUrl.Replace('/', '\\');
}
System.Diagnostics.Process.Start("Explorer.exe", "/select," + folderUrl);
}
}
}
/// <summary>
/// 在这里找出你当前所有的场景文件,假设你只想把部分的scene文件打包 那么这里可以写你的条件判断 总之返回一个字符串数组
/// </summary>
static string[] GetBuildScenes()
{
List<string> names = new List<string>();
foreach (var e in EditorBuildSettings.scenes)
{
if (e == null)
{
continue;
}
if (e.enabled)
{
names.Add(e.path);
}
}
return names.ToArray();
}
}
Editor_EditorWindow学习07转换平台也可一键导出
最新推荐文章于 2025-03-20 00:15:00 发布