【m】优化热更资源配置及APK打包窗口
1.处理了热更资源配置Editor脚本中冗余的部分 2.将热更资源配置继承基类改为OdinEditor,使其能适配Odin 3.重新整理了打包部分的代码块 4.添加了允许同时选择多个子包打包的逻辑(开发中) 5.添加了选择子包时查看其全局配置的逻辑
This commit is contained in:
@@ -30,25 +30,104 @@ namespace Stary.Evo.Editor
|
||||
[Title("设备类型选择", titleAlignment: TitleAlignments.Centered)] [EnumToggleButtons, HideLabel]
|
||||
public DeviceType deviceType = DeviceType.Xreal;
|
||||
|
||||
[Title("包裹列表", titleAlignment: TitleAlignments.Centered)]
|
||||
[LabelText("Domain子包")]
|
||||
[ValueDropdown("GetAvailablePackageNames")]
|
||||
[OnValueChanged("OnPackageNameChanged")]
|
||||
public string selectedPackageName;
|
||||
#region 包体列表
|
||||
|
||||
[LabelText("自定义App名称")]
|
||||
[Tooltip("空置时为默认名")]
|
||||
public string productNameReplace;
|
||||
[TitleGroup("Domain子包", alignment: TitleAlignments.Centered)]
|
||||
[LabelText("选择包体")]
|
||||
[HideIf(nameof(allowMutiSelection))]
|
||||
[ValueDropdown(nameof(GetAvailablePackageNames))]
|
||||
[OnValueChanged(nameof(OnPackageNameChanged))]
|
||||
public string selectedPackageName;
|
||||
|
||||
[TitleGroup("打包配置", alignment: TitleAlignments.Centered)] [ToggleLeft] [LabelText("自动递增版本号")]
|
||||
[TitleGroup("Domain子包")]
|
||||
[LabelText("允许多选")]
|
||||
public bool allowMutiSelection = false;
|
||||
|
||||
[TitleGroup("Domain子包")]
|
||||
[LabelText("选择包体")]
|
||||
[ShowIf(nameof(allowMutiSelection))]
|
||||
[ValueDropdown(nameof(GetAvailablePackageNames))]
|
||||
public string[] selectionOfPackages;
|
||||
|
||||
[TitleGroup("Domain子包")]
|
||||
[LabelText("查看包体配置")]
|
||||
[ShowIf(nameof(allowMutiSelection))]
|
||||
[OnValueChanged(nameof(OnPackageSelectedOptionChanged))]
|
||||
[ValueDropdown(nameof(selectionOfPackages))]
|
||||
public string selectedOptionOfselectionOfPackages;
|
||||
|
||||
[BoxGroup("Domain子包/包体配置")]
|
||||
[InlineProperty, HideLabel]
|
||||
[ShowIf(nameof(selectedPackageInfo))]
|
||||
public PackageConfigInfo selectedPackageInfo;
|
||||
|
||||
/// <summary>
|
||||
/// 获取可用的包裹名称列表
|
||||
/// </summary>
|
||||
/// <returns>包裹名称列表</returns>
|
||||
private List<string> GetAvailablePackageNames()
|
||||
{
|
||||
UpdateAvailablePackages();
|
||||
return CreatAssetWindow.GetCreatDomainAllName().ToList();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 更新可用包裹列表
|
||||
/// </summary>
|
||||
private void UpdateAvailablePackages()
|
||||
{
|
||||
var availablePackages = CreatAssetWindow.GetCreatDomainAllName().ToList();
|
||||
if (availablePackages.Any() && string.IsNullOrEmpty(selectedPackageName))
|
||||
{
|
||||
selectedPackageName = availablePackages.First();
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 当包裹名称改变时的回调
|
||||
/// </summary>
|
||||
private void OnPackageNameChanged(string packageID)
|
||||
{
|
||||
buildStatus = "就绪";
|
||||
|
||||
selectedPackageInfo = HotfixMainResDomain.Get.buildConfig.Get(packageID).info;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 当可选包体中选择的包体改变时的回调
|
||||
/// </summary>
|
||||
/// <param name="packageID"></param>
|
||||
private void OnPackageSelectedOptionChanged(string packageID)
|
||||
{
|
||||
selectedPackageInfo = HotfixMainResDomain.Get.buildConfig.Get(packageID).info;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 打包配置
|
||||
|
||||
[TitleGroup("打包配置", alignment: TitleAlignments.Centered)]
|
||||
[ToggleLeft]
|
||||
[LabelText("自动递增版本号")]
|
||||
public bool autoIncrementVersion = true;
|
||||
|
||||
[TitleGroup("打包配置", alignment: TitleAlignments.Centered)] [ToggleLeft] [LabelText("是否添加水印")]
|
||||
[TitleGroup("打包配置")]
|
||||
[ToggleLeft]
|
||||
[LabelText("是否添加水印")]
|
||||
public bool isWatermark = false;
|
||||
[TitleGroup("打包配置", alignment: TitleAlignments.Centered)] [ToggleLeft] [LabelText("是否服务器热更包")]
|
||||
|
||||
[TitleGroup("打包配置")]
|
||||
[ToggleLeft]
|
||||
[LabelText("是否服务器热更包")]
|
||||
[OnValueChanged("OnServerChangedTag")]
|
||||
public bool isServer = false;
|
||||
[ToggleLeft] [LabelText("构建完成后打开文件夹")] public bool openFolderOnComplete = true;
|
||||
|
||||
[TitleGroup("打包配置")]
|
||||
[ToggleLeft]
|
||||
[LabelText("构建完成后打开文件夹")]
|
||||
public bool openFolderOnComplete = true;
|
||||
|
||||
#endregion
|
||||
|
||||
[BoxGroup("缓存管理", centerLabel: true)]
|
||||
[Button("清空打包缓存", ButtonSizes.Large)]
|
||||
@@ -230,7 +309,7 @@ namespace Stary.Evo.Editor
|
||||
packageName = selectedPackageName;
|
||||
}
|
||||
|
||||
PlayerSettings.productName = productNameReplace.IsNullOrEmpty() ? productName : productNameReplace;
|
||||
PlayerSettings.productName = string.IsNullOrEmpty(selectedPackageInfo?.appName) ? productName : selectedPackageInfo.appName;
|
||||
PlayerSettings.applicationIdentifier = packageName;
|
||||
|
||||
// 自动递增版本号
|
||||
@@ -243,8 +322,6 @@ namespace Stary.Evo.Editor
|
||||
/// <summary>
|
||||
/// 配置场景列表
|
||||
/// </summary>
|
||||
/// <param name="isWatermark">是否为水印包</param>
|
||||
/// <param name="hotfixMainResDomain">资源配置</param>
|
||||
/// <returns>场景路径数组</returns>
|
||||
private string[] ConfigureScenes()
|
||||
{
|
||||
@@ -297,7 +374,7 @@ namespace Stary.Evo.Editor
|
||||
/// </summary>
|
||||
private void ConfigureWatermark()
|
||||
{
|
||||
if (productNameReplace.IsNullOrEmpty())
|
||||
if (string.IsNullOrEmpty(selectedPackageInfo?.appName))
|
||||
{
|
||||
PlayerSettings.productName += "_watermark";
|
||||
}
|
||||
@@ -497,36 +574,6 @@ namespace Stary.Evo.Editor
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取可用的包裹名称列表
|
||||
/// </summary>
|
||||
/// <returns>包裹名称列表</returns>
|
||||
private List<string> GetAvailablePackageNames()
|
||||
{
|
||||
UpdateAvailablePackages();
|
||||
return CreatAssetWindow.GetCreatDomainAllName().ToList();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 更新可用包裹列表
|
||||
/// </summary>
|
||||
private void UpdateAvailablePackages()
|
||||
{
|
||||
var availablePackages = CreatAssetWindow.GetCreatDomainAllName().ToList();
|
||||
if (availablePackages.Any() && string.IsNullOrEmpty(selectedPackageName))
|
||||
{
|
||||
selectedPackageName = availablePackages.First();
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 当包裹名称改变时的回调
|
||||
/// </summary>
|
||||
private void OnPackageNameChanged()
|
||||
{
|
||||
buildStatus = "就绪";
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 自动递增版本号
|
||||
/// </summary>
|
||||
|
||||
Reference in New Issue
Block a user