using System.Collections; using Cysharp.Threading.Tasks; using AlicizaX.Resource.Runtime; using AlicizaX; using UnityEngine; using YooAsset; namespace Unity.Startup.Procedure { internal sealed class ProcedureUpdateStaticVersion : StateBase { protected override void OnEnter() { // GameApp.Event.Fire(this, AssetPatchStatesChangeEventArgs.Create(EPatchStates.UpdateStaticVersion)); GetStaticVersion().Forget(); } private async UniTaskVoid GetStaticVersion() { var buildInOperation = GameApp.Resource.RequestPackageVersionAsync(); var a = Progress.Create((x) => { }); await buildInOperation.ToUniTask(); if (buildInOperation.Status == EOperationStatus.Succeed) { //更新成功 string packageVersion = buildInOperation.PackageVersion; GameApp.Resource.PackageVersion = packageVersion; Log.Info($"Updated package Version : {packageVersion}"); SwitchState(UpdateProcedureState.ProcedureUpdateManifest); } else { //更新失败 Log.Error(buildInOperation.Error); SwitchState(UpdateProcedureState.ProcedureUpdateStaticVersion); } } } }