diff --git a/UnityProject/Assets/GameScripts/Main/Launcher/Scripts/UI/UILoadUpdate.cs b/UnityProject/Assets/GameScripts/Main/Launcher/Scripts/UI/UILoadUpdate.cs index 6f2285bc..25a2b55d 100644 --- a/UnityProject/Assets/GameScripts/Main/Launcher/Scripts/UI/UILoadUpdate.cs +++ b/UnityProject/Assets/GameScripts/Main/Launcher/Scripts/UI/UILoadUpdate.cs @@ -38,10 +38,15 @@ namespace GameMain m_btnClear.gameObject.SetActive(true); } + public override void RegisterEvent() + { + base.RegisterEvent(); + AddUIEvent(RuntimeId.ToRuntimeId("RefreshVersion"),RefreshVersion); + } + public override void OnRefresh() { base.OnRefresh(); - RefreshVersion(); } #region 事件 diff --git a/UnityProject/Assets/GameScripts/Main/Procedure/ProcedureInitPackage.cs b/UnityProject/Assets/GameScripts/Main/Procedure/ProcedureInitPackage.cs index 8970e85d..b87efb4f 100644 --- a/UnityProject/Assets/GameScripts/Main/Procedure/ProcedureInitPackage.cs +++ b/UnityProject/Assets/GameScripts/Main/Procedure/ProcedureInitPackage.cs @@ -60,8 +60,8 @@ namespace GameMain { //热更新阶段文本初始化 LoadText.Instance.InitConfigData(null); - //热更新UI初始化 - UILoadMgr.Initialize(); + + GameEvent.Send(RuntimeId.ToRuntimeId("RefreshVersion")); EPlayMode playMode = GameModule.Resource.PlayMode; diff --git a/UnityProject/Assets/GameScripts/Main/Procedure/ProcedureLaunch.cs b/UnityProject/Assets/GameScripts/Main/Procedure/ProcedureLaunch.cs index 5f0180e1..cd17fef1 100644 --- a/UnityProject/Assets/GameScripts/Main/Procedure/ProcedureLaunch.cs +++ b/UnityProject/Assets/GameScripts/Main/Procedure/ProcedureLaunch.cs @@ -14,6 +14,9 @@ namespace GameMain protected override void OnEnter(ProcedureOwner procedureOwner) { base.OnEnter(procedureOwner); + + //热更新UI初始化 + UILoadMgr.Initialize(); // 语言配置:设置当前使用的语言,如果不设置,则默认使用操作系统语言 InitLanguageSettings(); diff --git a/UnityProject/Assets/GameScripts/Main/Procedure/ProcedureUpdateVersion.cs b/UnityProject/Assets/GameScripts/Main/Procedure/ProcedureUpdateVersion.cs index 5581ebf6..12600dde 100644 --- a/UnityProject/Assets/GameScripts/Main/Procedure/ProcedureUpdateVersion.cs +++ b/UnityProject/Assets/GameScripts/Main/Procedure/ProcedureUpdateVersion.cs @@ -15,14 +15,14 @@ namespace GameMain public override bool UseNativeDialog => true; private ProcedureOwner _procedureOwner; - + protected override void OnEnter(ProcedureOwner procedureOwner) { _procedureOwner = procedureOwner; - + base.OnEnter(procedureOwner); - - UILoadMgr.Show(UIDefine.UILoadUpdate,$"更新静态版本文件..."); + + UILoadMgr.Show(UIDefine.UILoadUpdate, $"更新静态版本文件..."); //检查设备是否能够访问互联网 if (Application.internetReachability == NetworkReachability.NotReachable) @@ -34,6 +34,7 @@ namespace GameMain GetStaticVersion().Forget, () => { ChangeState(procedureOwner); }); } + UILoadMgr.Show(UIDefine.UILoadUpdate, LoadText.Instance.Label_RequestVersionIng); // 用户尝试更新静态版本。 @@ -49,23 +50,35 @@ namespace GameMain var operation = GameModule.Resource.UpdatePackageVersionAsync(); - await operation.ToUniTask(); + try + { + await operation.ToUniTask(); - if (operation.Status == EOperationStatus.Succeed) - { - //线上最新版本operation.PackageVersion - GameModule.Resource.PackageVersion = operation.PackageVersion; - Log.Debug($"Updated package Version : from {GameModule.Resource.GetPackageVersion()} to {operation.PackageVersion}"); - ChangeState(_procedureOwner); + if (operation.Status == EOperationStatus.Succeed) + { + //线上最新版本operation.PackageVersion + GameModule.Resource.PackageVersion = operation.PackageVersion; + Log.Debug($"Updated package Version : from {GameModule.Resource.GetPackageVersion()} to {operation.PackageVersion}"); + ChangeState(_procedureOwner); + } + else + { + OnGetStaticVersionError(operation.Error); + } } - else + catch (Exception e) { - Log.Error(operation.Error); - - UILoadTip.ShowMessageBox($"用户尝试更新静态版本失败!点击确认重试 \n \n 原因{operation.Error}", MessageShowType.TwoButton, - LoadStyle.StyleEnum.Style_Retry - , () => { ChangeState(_procedureOwner); }, UnityEngine.Application.Quit); + OnGetStaticVersionError(e.Message); } } + + private void OnGetStaticVersionError(string error) + { + Log.Error(error); + + UILoadTip.ShowMessageBox($"用户尝试更新静态版本失败!点击确认重试 \n \n 原因{error}", MessageShowType.TwoButton, + LoadStyle.StyleEnum.Style_Retry + , () => { ChangeState(_procedureOwner); }, UnityEngine.Application.Quit); + } } } \ No newline at end of file diff --git a/UnityProject/Assets/TEngine/Runtime/Core/Utility/Utility.Unity.cs b/UnityProject/Assets/TEngine/Runtime/Core/Utility/Utility.Unity.cs index 8e6fff75..d3c1731b 100644 --- a/UnityProject/Assets/TEngine/Runtime/Core/Utility/Utility.Unity.cs +++ b/UnityProject/Assets/TEngine/Runtime/Core/Utility/Utility.Unity.cs @@ -232,20 +232,10 @@ namespace TEngine return; } - _entity = new GameObject("[Unity.Utility]") - { - // hideFlags = HideFlags.HideAndDontSave - }; + _entity = new GameObject("[Unity.Utility]"); _entity.SetActive(true); _entity.transform.SetParent(GameModule.Base.transform); -#if UNITY_EDITOR - if (Application.isPlaying) -#endif - { - Object.DontDestroyOnLoad(_entity); - } - UnityEngine.Assertions.Assert.IsFalse(_behaviour); _behaviour = _entity.AddComponent(); }