diff --git a/Assets/00.StaryEvo/Editor/Build/AutoBuildPackage.cs b/Assets/00.StaryEvo/Editor/Build/AutoBuildPackage.cs new file mode 100644 index 0000000..2ec9e4d --- /dev/null +++ b/Assets/00.StaryEvo/Editor/Build/AutoBuildPackage.cs @@ -0,0 +1,215 @@ +using System.Collections.Generic; +using System.Threading.Tasks; +using HybridCLR.Editor.Commands; +using Newtonsoft.Json; +using Sirenix.OdinInspector; +using UnityEditor; +using UnityEngine; +using YooAsset.Editor; + +namespace Stary.Evo.Editor +{ + public static class AutoBuildPackage + { + private static List GetOneKeyBuildEntities() + { + var creatDomainAll = CreatAssetWindow.GetCreatDomainAll(); + List oneKeyBuildEntities = new List(); + foreach (var domainEntity in creatDomainAll) + { + oneKeyBuildEntities.Add(new OneKeyBuildEntity() + { + DomainName = domainEntity.DomainName, isRaw = true + }); + } + + return oneKeyBuildEntities; + } + + public static void OneClickMark() + { + OneClickMark(GetOneKeyBuildEntities()); + } + + /// + /// (一键)标记选择资源 + /// + /// + public static void OneClickMark(List oneKeyBuildEntities) + { +#if HotUpdate + //打dll + CompileDllCommand.CompileDllActiveBuildTarget(); + //拷贝dll + MarkAdressable.AddHotfixAddressableDllAll(oneKeyBuildEntities); + //标记全部资源 + MarkAdressable.AddMarkAll(oneKeyBuildEntities); +#endif + } + + public static void OneShaderMark() + { + OneShaderMark(GetOneKeyBuildEntities()); + } + + /// + /// (一键)收集shader【材质异常或资源修改】 + /// + /// + public static void OneShaderMark(List oneKeyBuildEntities) + { +#if HotUpdate + //标记全部资源 + foreach (var oneKeyBUildEntity in oneKeyBuildEntities) + { + if (oneKeyBUildEntity.isRaw) + { + MarkAdressable.CollectSVC(oneKeyBUildEntity.DomainName); + } + } + + +#endif + } + + public static void OneUpdatePackageVersionBuild() + { + OneUpdatePackageVersion(GetOneKeyBuildEntities()); + OneClickBuild(GetOneKeyBuildEntities()); + } + + /// + /// (一键)获取服务器版本 + /// + /// + public static async void OneUpdatePackageVersion(List oneKeyBuildEntities) + { + foreach (var oneKeyBUildEntity in oneKeyBuildEntities) + { + if (oneKeyBUildEntity.isRaw) + { + BuildAssetDataSetting buildAssetDataSetting = + AssetDatabase.LoadAssetAtPath( + $"Assets/Domain/{oneKeyBUildEntity.DomainName}/Conf/BuildAssetDataSetting.asset"); + if (buildAssetDataSetting != null) + { + //初始化读取资源配置表 + HotfixMainResDomain hotfixMainResDomain = + Resources.Load("HotfixMainResDomain"); + if (hotfixMainResDomain == null) + { + Debug.LogError($"UnityEvo:读取资源配置表失败【HotfixMainResDomain】...表不存在"); + continue; + } + + var ip = hotfixMainResDomain.hotfixMainResDomainEntity.ipconfig; + //登录 + string loginurl = ip + "/Authentication/login"; + await WebRequestSystem.Login(loginurl, hotfixMainResDomain.hotfixMainResDomainEntity.username, + hotfixMainResDomain.hotfixMainResDomainEntity.password); + string url = $"{ip}/ResDomain/GetResDomainByDomain"; + var resDmainRequst = new ResDmainRequst() + { + ProductName = Application.identifier, + DomainName = oneKeyBUildEntity.DomainName, + Platform = UnityEditor.EditorUserBuildSettings.activeBuildTarget.ToString(), + }; + //获取服务器版本 + var resDmainMessageEntity = + await WebRequestSystem.Post(url, JsonConvert.SerializeObject(resDmainRequst)); + if (resDmainMessageEntity.code == 200) + { + ResDmainResponse resDmainResponse = + JsonConvert.DeserializeObject(resDmainMessageEntity.data.ToString()); + string[] versions = resDmainResponse.PackageVersion.Split('.'); + buildAssetDataSetting.packageVersionX = int.Parse(versions[0]); + buildAssetDataSetting.packageVersionY = int.Parse(versions[1]); + buildAssetDataSetting.packageVersionZ = int.Parse(versions[2]); + buildAssetDataSetting.packageVersionZ++; + EditorUtility.SetDirty(buildAssetDataSetting); + } + else if (resDmainMessageEntity.code == 1011) + { + buildAssetDataSetting.packageVersionX = 1; + buildAssetDataSetting.packageVersionY = 0; + buildAssetDataSetting.packageVersionZ = 0; + EditorUtility.SetDirty(buildAssetDataSetting); + } + } + else + { + Debug.LogError("BuildAssetDataSetting 不存在:" + oneKeyBUildEntity.DomainName); + } + } + } + + AssetDatabase.SaveAssets(); + AssetDatabase.Refresh(); + } + + /// + /// (一键)打包选择资源 + /// + /// + public static void OneClickBuild(List oneKeyBuildEntities) + { + //打包 + foreach (var oneKeyBUildEntity in oneKeyBuildEntities) + { + if (oneKeyBUildEntity.isRaw) + { + BuildAssetDataSetting buildAssetDataSetting = + AssetDatabase.LoadAssetAtPath( + $"Assets/Domain/{oneKeyBUildEntity.DomainName}/Conf/BuildAssetDataSetting.asset"); + if (buildAssetDataSetting != null) + { + buildAssetDataSetting.environmentType = EnvironmentType.Release; + buildAssetDataSetting.SetEnvironmentType(); + buildAssetDataSetting.viewer = new BuiltinBuildPipelineViewer(buildAssetDataSetting); + buildAssetDataSetting.viewer.clearBuildCacheToggle = true; + buildAssetDataSetting.viewer.SetBuildCacheToggle(); + EditorApplication.delayCall += buildAssetDataSetting.viewer.ExecuteBuild; + } + else + { + Debug.LogError("BuildAssetDataSetting 不存在:" + oneKeyBUildEntity.DomainName); + } + } + } + } + + public static void OneUpdatePackage() + { + OneUpdatePackage(GetOneKeyBuildEntities()); + } + + /// + /// (一键)上传服务器版本 + /// + /// + public static async void OneUpdatePackage(List oneKeyBuildEntities) + { + //打包 + foreach (var oneKeyBUildEntity in oneKeyBuildEntities) + { + if (oneKeyBUildEntity.isRaw) + { + BuildAssetDataSetting buildAssetDataSetting = + AssetDatabase.LoadAssetAtPath( + $"Assets/Domain/{oneKeyBUildEntity.DomainName}/Conf/BuildAssetDataSetting.asset"); + if (buildAssetDataSetting != null) + { + string zipFilePath = BuildAssetWindow.BuildZip(buildAssetDataSetting); + await BuildAssetWindow.UpdateFileDataResDomain(buildAssetDataSetting, zipFilePath); + await Task.Delay(1000); + EditorUtility.ClearProgressBar(); + } + else + { + Debug.LogError("BuildAssetDataSetting 不存在:" + oneKeyBUildEntity.DomainName); + } + } + } + } + } +} \ No newline at end of file diff --git a/Assets/00.StaryEvo/Editor/Build/AutoBuildPackage.cs.meta b/Assets/00.StaryEvo/Editor/Build/AutoBuildPackage.cs.meta new file mode 100644 index 0000000..2b634b2 --- /dev/null +++ b/Assets/00.StaryEvo/Editor/Build/AutoBuildPackage.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 9acf99b5eebb41dd8ae3b60d66f4db47 +timeCreated: 1755762566 \ No newline at end of file diff --git a/Assets/00.StaryEvo/Editor/Build/BuildApkEntity.cs b/Assets/00.StaryEvo/Editor/Build/BuildApkEntity.cs index 66f9578..c766956 100644 --- a/Assets/00.StaryEvo/Editor/Build/BuildApkEntity.cs +++ b/Assets/00.StaryEvo/Editor/Build/BuildApkEntity.cs @@ -6,28 +6,31 @@ using UnityEditor; using UnityEditor.Build.Reporting; using UnityEngine; -[Serializable] -public class BuildApkEntity +namespace Stary.Evo.Editor { - public BuildApkEntity(Action OnBuildApkAction, Action OnBuildApkUpdateAction) + [Serializable] + public class BuildApkEntity { - this._onBuildApkAction = OnBuildApkAction; - this._onBuildApkUpdateAction = OnBuildApkUpdateAction; - } + public BuildApkEntity(Action OnBuildApkAction, Action OnBuildApkUpdateAction) + { + this._onBuildApkAction = OnBuildApkAction; + this._onBuildApkUpdateAction = OnBuildApkUpdateAction; + } - private Action _onBuildApkAction; - private Action _onBuildApkUpdateAction; + private Action _onBuildApkAction; + private Action _onBuildApkUpdateAction; - [Button("打包", ButtonSizes.Large)] - private void BuildApk() - { - this._onBuildApkAction?.Invoke(); - } + [Button("打包", ButtonSizes.Large)] + private void BuildApk() + { + this._onBuildApkAction?.Invoke(); + } - [Button("上传服务器", ButtonSizes.Large)] - private void BuildApkUpdate() - { - this._onBuildApkUpdateAction?.Invoke(); + [Button("上传服务器", ButtonSizes.Large)] + private void BuildApkUpdate() + { + this._onBuildApkUpdateAction?.Invoke(); + } } } \ No newline at end of file diff --git a/Assets/00.StaryEvo/Editor/Build/BuildApkWindow.cs b/Assets/00.StaryEvo/Editor/Build/BuildApkWindow.cs index 4da45fe..f4f8407 100644 --- a/Assets/00.StaryEvo/Editor/Build/BuildApkWindow.cs +++ b/Assets/00.StaryEvo/Editor/Build/BuildApkWindow.cs @@ -1,141 +1,140 @@ -using System; -using System.Collections.Generic; using Sirenix.OdinInspector; using Sirenix.OdinInspector.Editor; -using Stary.Evo; using UnityEditor; using UnityEditor.Build.Reporting; using UnityEngine; -using BuildReport = UnityEditor.Build.Reporting.BuildReport; -public class BuildApkWindow : OdinEditorWindow +namespace Stary.Evo.Editor { - public static OdinEditorWindow window; - - [MenuItem("Evo/Apk打包工具")] - static void ShowWindows() + public class BuildApkWindow : OdinEditorWindow { - window = (BuildApkWindow)EditorWindow.GetWindow(typeof(BuildApkWindow)); - window.maxSize = new Vector2(400, 500); - window.Show(); - } + public static OdinEditorWindow window; - protected override void Initialize() - { - base.Initialize(); - buildApkLocalEntity = new BuildApkEntity(() => { BuildAndroid(false); }, null); - buildApkServerEntity = new BuildApkEntity(null, null); - buildApkWatermarkEntity = new BuildApkEntity(() => { BuildAndroid(true); }, null); - } - - [EnumToggleButtons, HideLabel] public DeviceType deviceType; - - [BoxGroup("Build(清空打包缓存)", centerLabel: true, order: 1)] - [Button("清空打包缓存")] - void OnClearCache() - { - // 清理Library缓存目录 - // 使用System.IO删除 - // try { - // System.IO.Directory.Delete(Application.dataPath + "/../Library/AssetImportState", true); - // Debug.Log("成功删除AssetImportState"); - // } catch (System.Exception e) { - // Debug.LogError($"删除失败: {e.Message}"); - // } - // 使用System.IO删除 - try + [MenuItem("Evo/Apk打包工具")] + static void ShowWindows() { - System.IO.Directory.Delete(Application.dataPath + "/../Library/BuildCache", true); - Debug.Log("成功删除BuildCache"); - } - catch (System.Exception e) - { - Debug.LogError($"删除失败: {e.Message}"); + window = (BuildApkWindow)EditorWindow.GetWindow(typeof(BuildApkWindow)); + window.maxSize = new Vector2(400, 500); + window.Show(); } - // 使用System.IO删除 - try + protected override void Initialize() { - System.IO.Directory.Delete(Application.dataPath + "/../Library/ScriptAssemblies", true); - Debug.Log("成功删除ScriptAssemblies"); - } - catch (System.Exception e) - { - Debug.LogError($"删除失败: {e.Message}"); + base.Initialize(); + buildApkLocalEntity = new BuildApkEntity(() => { BuildAndroid(false); }, null); + buildApkServerEntity = new BuildApkEntity(null, null); + buildApkWatermarkEntity = new BuildApkEntity(() => { BuildAndroid(true); }, null); } - AssetDatabase.Refresh(); - EditorUtility.DisplayDialog("缓存清理", "已成功清除所有打包缓存文件", "确定"); - } + [EnumToggleButtons, HideLabel] public DeviceType deviceType; - [BoxGroup("Build(普通包\\服务器本地包)", centerLabel: true, order: 2), HideLabel] - public BuildApkEntity buildApkLocalEntity; - - [BoxGroup("Build(服务器热更包)", centerLabel: true, order: 3), HideLabel] - public BuildApkEntity buildApkServerEntity; - - [BoxGroup("Build(水印包)", centerLabel: true, order: 4), HideLabel] - public BuildApkEntity buildApkWatermarkEntity; - - public void BuildAndroid(bool isWatermark) - { - HotfixMainResDomain hotfixMainResDomain = Resources.Load("HotfixMainResDomain"); - if (hotfixMainResDomain == null) + [BoxGroup("Build(清空打包缓存)", centerLabel: true, order: 1)] + [Button("清空打包缓存")] + void OnClearCache() { - Debug.LogError("HotfixMainResDomain 资源在Resources下不存在,请检查!"); - return; - } - - // 设置包名和项目名 - PlayerSettings.productName = hotfixMainResDomain.projectInfo.projectName; - PlayerSettings.applicationIdentifier = hotfixMainResDomain.projectInfo.projectPackageName; - - string[] scenelist = default; - if (isWatermark) - { - scenelist = new[] + // 清理Library缓存目录 + // 使用System.IO删除 + // try { + // System.IO.Directory.Delete(Application.dataPath + "/../Library/AssetImportState", true); + // Debug.Log("成功删除AssetImportState"); + // } catch (System.Exception e) { + // Debug.LogError($"删除失败: {e.Message}"); + // } + // 使用System.IO删除 + try { - hotfixMainResDomain.projectInfo.loadingScenePath, - $"Assets/Main/main_{deviceType.ToString()}.unity" - }; - PlayerSettings.applicationIdentifier += "_watermark"; - } - else - { - scenelist = new[] + System.IO.Directory.Delete(Application.dataPath + "/../Library/BuildCache", true); + Debug.Log("成功删除BuildCache"); + } + catch (System.Exception e) { - $"Assets/Main/main_{deviceType.ToString()}.unity" + Debug.LogError($"删除失败: {e.Message}"); + } + + // 使用System.IO删除 + try + { + System.IO.Directory.Delete(Application.dataPath + "/../Library/ScriptAssemblies", true); + Debug.Log("成功删除ScriptAssemblies"); + } + catch (System.Exception e) + { + Debug.LogError($"删除失败: {e.Message}"); + } + + AssetDatabase.Refresh(); + EditorUtility.DisplayDialog("缓存清理", "已成功清除所有打包缓存文件", "确定"); + } + + [BoxGroup("Build(普通包\\服务器本地包)", centerLabel: true, order: 2), HideLabel] + public BuildApkEntity buildApkLocalEntity; + + [BoxGroup("Build(服务器热更包)", centerLabel: true, order: 3), HideLabel] + public BuildApkEntity buildApkServerEntity; + + [BoxGroup("Build(水印包)", centerLabel: true, order: 4), HideLabel] + public BuildApkEntity buildApkWatermarkEntity; + + public void BuildAndroid(bool isWatermark) + { + HotfixMainResDomain hotfixMainResDomain = Resources.Load("HotfixMainResDomain"); + if (hotfixMainResDomain == null) + { + Debug.LogError("HotfixMainResDomain 资源在Resources下不存在,请检查!"); + return; + } + + // 设置包名和项目名 + PlayerSettings.productName = hotfixMainResDomain.projectInfo.projectName; + PlayerSettings.applicationIdentifier = hotfixMainResDomain.projectInfo.projectPackageName; + + string[] scenelist = default; + if (isWatermark) + { + scenelist = new[] + { + hotfixMainResDomain.projectInfo.loadingScenePath, + $"Assets/Main/main_{deviceType.ToString()}.unity" + }; + PlayerSettings.applicationIdentifier += "_watermark"; + } + else + { + scenelist = new[] + { + $"Assets/Main/main_{deviceType.ToString()}.unity" + }; + } + + // 配置构建选项 + BuildPlayerOptions buildOptions = new BuildPlayerOptions + { + scenes = scenelist, + locationPathName = $"Builds/Android/{PlayerSettings.applicationIdentifier}.apk", + target = BuildTarget.Android, + options = BuildOptions.None }; + + // 执行打包 + var report = BuildPipeline.BuildPlayer(buildOptions); + + BuildSummary summary = report.summary; + if (summary.result == BuildResult.Succeeded) + { + Debug.Log("Build succeeded: " + summary.totalSize + " bytes"); + } + + if (summary.result == BuildResult.Failed) + { + Debug.LogError("Build failed"); + } } - // 配置构建选项 - BuildPlayerOptions buildOptions = new BuildPlayerOptions - { - scenes = scenelist, - locationPathName = $"Builds/Android/{PlayerSettings.applicationIdentifier}.apk", - target = BuildTarget.Android, - options = BuildOptions.None - }; - // 执行打包 - BuildReport report = BuildPipeline.BuildPlayer(buildOptions); - - BuildSummary summary = report.summary; - if (summary.result == BuildResult.Succeeded) + public enum DeviceType { - Debug.Log("Build succeeded: " + summary.totalSize + " bytes"); + Xreal, + Rokid } - - if (summary.result == BuildResult.Failed) - { - Debug.LogError("Build failed"); - } - } - - - public enum DeviceType - { - Xreal, - Rokid } } \ No newline at end of file diff --git a/Assets/00.StaryEvo/Editor/Build/BuildReport.cs b/Assets/00.StaryEvo/Editor/Build/BuildReport.cs index 3f12f4d..ecc3066 100644 --- a/Assets/00.StaryEvo/Editor/Build/BuildReport.cs +++ b/Assets/00.StaryEvo/Editor/Build/BuildReport.cs @@ -6,7 +6,7 @@ using UnityEditor.Build; using UnityEditor.Callbacks; using UnityEngine; -namespace Stary.Evo +namespace Stary.Evo.Editor { // 实现接口的方式 public class BuildReport : IPostprocessBuildWithReport, IPreprocessBuildWithReport diff --git a/Assets/00.StaryEvo/Editor/BuildAsset/BuildAssetWindow.cs b/Assets/00.StaryEvo/Editor/BuildAsset/BuildAssetWindow.cs index c891efa..b51929c 100644 --- a/Assets/00.StaryEvo/Editor/BuildAsset/BuildAssetWindow.cs +++ b/Assets/00.StaryEvo/Editor/BuildAsset/BuildAssetWindow.cs @@ -34,8 +34,6 @@ namespace Stary.Evo.Editor [MenuItem("Evo/资源打包工具")] static void ShowWindows() { - - #if NotUpdate if (EditorUtility.DisplayDialog("提示", "当前为非热更模式,不支持热更打包功能,是否切换热更模式", "是", "否")) { @@ -461,14 +459,21 @@ namespace Stary.Evo.Editor //如果低于服务器版本,更新版本号 if (resResultMessage.code != 1011) { - ResDmainResponse domainResponse = - JsonConvert.DeserializeObject(resResultMessage.data - .ToString()); - string[] versions = domainResponse.PackageVersion.Split('.'); - setting.packageVersionX = int.Parse(versions[0]); - setting.packageVersionY = int.Parse(versions[1]); - setting.packageVersionZ = int.Parse(versions[2]); - setting.GetBuildPackageVersion(true); + if (resResultMessage.data != null) + { + ResDmainResponse domainResponse = + JsonConvert.DeserializeObject(resResultMessage.data + .ToString()); + string[] versions = domainResponse.PackageVersion.Split('.'); + setting.packageVersionX = int.Parse(versions[0]); + setting.packageVersionY = int.Parse(versions[1]); + setting.packageVersionZ = int.Parse(versions[2]); + setting.GetBuildPackageVersion(true); + } + else + { + Debug.LogError($"UnityEvo:获取服务器版本失败,resResultMessage.data为空"); + } } else { diff --git a/Assets/00.StaryEvo/Editor/BuildAsset/OneKeyBuildWindow.cs b/Assets/00.StaryEvo/Editor/BuildAsset/OneKeyBuildWindow.cs index 109f60e..10fc166 100644 --- a/Assets/00.StaryEvo/Editor/BuildAsset/OneKeyBuildWindow.cs +++ b/Assets/00.StaryEvo/Editor/BuildAsset/OneKeyBuildWindow.cs @@ -54,12 +54,7 @@ namespace Stary.Evo.Editor public void OneClickMark() { #if HotUpdate - //打dll - CompileDllCommand.CompileDllActiveBuildTarget(); - //拷贝dll - MarkAdressable.AddHotfixAddressableDllAll(OneKeyBuildEntities); - //标记全部资源 - MarkAdressable.AddMarkAll(OneKeyBuildEntities); + AutoBuildPackage.OneClickMark(OneKeyBuildEntities); EditorUtility.DisplayDialog("提示", $"标记所有资源完成!", "确定"); #endif } @@ -68,15 +63,9 @@ namespace Stary.Evo.Editor public void OneShaderMark() { #if HotUpdate - //标记全部资源 - foreach (var oneKeyBUildEntity in OneKeyBuildEntities) - { - if (oneKeyBUildEntity.isRaw) - { - MarkAdressable.CollectSVC(oneKeyBUildEntity.DomainName); - } - } - + EditorTools.ClearUnityConsole(); + AutoBuildPackage.OneShaderMark(OneKeyBuildEntities); + EditorUtility.DisplayDialog("提示", $"标记所有shader完成!", "确定"); #endif } @@ -86,63 +75,7 @@ namespace Stary.Evo.Editor { //打包 EditorTools.ClearUnityConsole(); - foreach (var oneKeyBUildEntity in OneKeyBuildEntities) - { - if (oneKeyBUildEntity.isRaw) - { - BuildAssetDataSetting buildAssetDataSetting = - AssetDatabase.LoadAssetAtPath( - $"Assets/Domain/{oneKeyBUildEntity.DomainName}/Conf/BuildAssetDataSetting.asset"); - if (buildAssetDataSetting != null) - { - //初始化读取资源配置表 - HotfixMainResDomain hotfixMainResDomain = - Resources.Load("HotfixMainResDomain"); - if (hotfixMainResDomain == null) - { - Debug.LogError($"UnityEvo:读取资源配置表失败【HotfixMainResDomain】...表不存在"); - continue; - } - - var ip = hotfixMainResDomain.hotfixMainResDomainEntity.ipconfig; - string url = $"{ip}/ResDomain/GetResDomainByDomain"; - var resDmainRequst = new ResDmainRequst() - { - ProductName = Application.identifier, - DomainName = oneKeyBUildEntity.DomainName, - Platform = UnityEditor.EditorUserBuildSettings.activeBuildTarget.ToString(), - }; - //获取服务器版本 - var resDmainMessageEntity = - await WebRequestSystem.Post(url, JsonConvert.SerializeObject(resDmainRequst)); - if (resDmainMessageEntity.code == 200) - { - ResDmainResponse resDmainResponse = - JsonConvert.DeserializeObject(resDmainMessageEntity.data.ToString()); - string[] versions = resDmainResponse.PackageVersion.Split('.'); - buildAssetDataSetting.packageVersionX = int.Parse(versions[0]); - buildAssetDataSetting.packageVersionY = int.Parse(versions[1]); - buildAssetDataSetting.packageVersionZ = int.Parse(versions[2]); - buildAssetDataSetting.packageVersionZ++; - EditorUtility.SetDirty(buildAssetDataSetting); - } - else if (resDmainMessageEntity.code == 1011) - { - buildAssetDataSetting.packageVersionX = 1; - buildAssetDataSetting.packageVersionY = 0; - buildAssetDataSetting.packageVersionZ = 0; - EditorUtility.SetDirty(buildAssetDataSetting); - } - } - else - { - Debug.LogError("BuildAssetDataSetting 不存在:" + oneKeyBUildEntity.DomainName); - } - } - } - - AssetDatabase.SaveAssets(); - AssetDatabase.Refresh(); + AutoBuildPackage.OneUpdatePackageVersion(OneKeyBuildEntities); EditorUtility.DisplayDialog("提示", $"获取服务器版本完成", "确定"); } @@ -151,29 +84,8 @@ namespace Stary.Evo.Editor { //打包 EditorTools.ClearUnityConsole(); - - foreach (var oneKeyBUildEntity in OneKeyBuildEntities) - { - if (oneKeyBUildEntity.isRaw) - { - BuildAssetDataSetting buildAssetDataSetting = - AssetDatabase.LoadAssetAtPath( - $"Assets/Domain/{oneKeyBUildEntity.DomainName}/Conf/BuildAssetDataSetting.asset"); - if (buildAssetDataSetting != null) - { - buildAssetDataSetting.environmentType = EnvironmentType.Release; - buildAssetDataSetting.SetEnvironmentType(); - buildAssetDataSetting.viewer = new BuiltinBuildPipelineViewer(buildAssetDataSetting); - buildAssetDataSetting.viewer.clearBuildCacheToggle = true; - buildAssetDataSetting.viewer.SetBuildCacheToggle(); - EditorApplication.delayCall += buildAssetDataSetting.viewer.ExecuteBuild; - } - else - { - Debug.LogError("BuildAssetDataSetting 不存在:" + oneKeyBUildEntity.DomainName); - } - } - } + + AutoBuildPackage.OneClickBuild(OneKeyBuildEntities); EditorUtility.DisplayDialog("提示", $"开始打包资源!", "确定"); } @@ -183,27 +95,7 @@ namespace Stary.Evo.Editor { //打包 EditorTools.ClearUnityConsole(); - foreach (var oneKeyBUildEntity in OneKeyBuildEntities) - { - if (oneKeyBUildEntity.isRaw) - { - BuildAssetDataSetting buildAssetDataSetting = - AssetDatabase.LoadAssetAtPath( - $"Assets/Domain/{oneKeyBUildEntity.DomainName}/Conf/BuildAssetDataSetting.asset"); - if (buildAssetDataSetting != null) - { - string zipFilePath = BuildAssetWindow.BuildZip(buildAssetDataSetting); - await BuildAssetWindow.UpdateFileDataResDomain(buildAssetDataSetting, zipFilePath); - await Task.Delay(1000); - EditorUtility.ClearProgressBar(); - } - else - { - Debug.LogError("BuildAssetDataSetting 不存在:" + oneKeyBUildEntity.DomainName); - } - } - } - + AutoBuildPackage.OneUpdatePackage(OneKeyBuildEntities); EditorUtility.DisplayDialog("提示", $"服务器上传完成", "确定"); } diff --git a/Assets/00.StaryEvo/Runtime/Utility/WebRequestSystem.cs b/Assets/00.StaryEvo/Runtime/Utility/WebRequestSystem.cs index ab5f082..28780d4 100644 --- a/Assets/00.StaryEvo/Runtime/Utility/WebRequestSystem.cs +++ b/Assets/00.StaryEvo/Runtime/Utility/WebRequestSystem.cs @@ -25,7 +25,7 @@ namespace Stary.Evo try { #if UNITY_2021_3_OR_NEWER - using UnityWebRequest webRequest = UnityWebRequest.Post(url, postData); + using UnityWebRequest webRequest = UnityWebRequest.PostWwwForm(url, postData); #else using UnityWebRequest webRequest = UnityWebRequest.PostWwwForm(url, postData); #endif @@ -271,7 +271,7 @@ namespace Stary.Evo try { #if UNITY_2021_3_OR_NEWER - using (UnityWebRequest webRequest = UnityWebRequest.Post(url, postData)) //第二种写法此行注释 + using (UnityWebRequest webRequest = UnityWebRequest.PostWwwForm(url, postData)) //第二种写法此行注释 #else using (UnityWebRequest webRequest = UnityWebRequest.PostWwwForm(url, postData)) //第二种写法此行注释 #endif diff --git a/Assets/00.StaryEvo/package.json b/Assets/00.StaryEvo/package.json index 7c28207..154d86f 100644 --- a/Assets/00.StaryEvo/package.json +++ b/Assets/00.StaryEvo/package.json @@ -1,6 +1,6 @@ { "name": "com.staryevo.main", - "version": "1.3.32", + "version": "1.3.33", "displayName": "00.StaryEvo", "description": "This is an Framework package(后台服务器版本,端口9527)", "unity": "2021.3",