using AlicizaX.Debugger.Runtime;
using UnityEditor;
using UnityEngine;
public interface IBuildParameters
{
BuildTarget BuildTarget { get; }
string OutPutPath { get; set; }
DebuggerActiveWindowType ShowDebugWnd { get; set; }
bool DevelopBuild { get; set; }
int ResMode { get; set; }
string FileName { get; set; }
string Language { get; set; }
string[] Scenes { get; set; }
string Version { get; set; }
string DecryptionServices { get; set; }
}
[System.Serializable]
public class AndroidBuildParameters : IBuildParameters
{
// 通用参数
public BuildTarget BuildTarget => BuildTarget.Android;
public string OutPutPath { get; set; }
public DebuggerActiveWindowType ShowDebugWnd { get; set; }
public bool DevelopBuild { get; set; }
public int ResMode { get; set; }
public string FileName { get; set; }
public string Language { get; set; }
public string[] Scenes { get; set; }
public string Version { get; set; }
public string DecryptionServices { get; set; }
///
/// 纹理压缩格式
///
public MobileTextureSubtarget TextureCompression { get; set; } = MobileTextureSubtarget.ASTC;
///
/// 最低支持的 Android API 等级
///
public AndroidSdkVersions MinSdkVersion { get; set; } = AndroidSdkVersions.AndroidApiLevel22;
///
/// 目标 API 等级
///
public AndroidSdkVersions TargetSdkVersion { get; set; } = AndroidSdkVersions.AndroidApiLevelAuto;
///
/// 应用标识符
///
public string BundleIdentifier { get; set; }
///
/// 版本代码
///
public int BundleVersionCode { get; set; } = 1;
}
[System.Serializable]
public class StandaloneBuildParameters : IBuildParameters
{
// 通用参数
public BuildTarget BuildTarget => BuildTarget.StandaloneWindows64;
public string OutPutPath { get; set; }
public DebuggerActiveWindowType ShowDebugWnd { get; set; }
public bool DevelopBuild { get; set; }
public int ResMode { get; set; }
public string FileName { get; set; }
public string Language { get; set; }
public string[] Scenes { get; set; }
public string Version { get; set; }
public string DecryptionServices { get; set; }
///
/// 是否全屏
///
public FullScreenMode FullScreenMode { get; set; } = FullScreenMode.FullScreenWindow;
///
/// 默认屏幕宽度 (窗口模式有效)
///
public int DefaultScreenWidth { get; set; } = 1280;
///
/// 默认屏幕高度 (窗口模式有效)
///
public int DefaultScreenHeight { get; set; } = 720;
///
/// 是否允许后台运行
///
public bool RunInBackground { get; set; } = true;
}