AlicizaX/Client/Assets/Scripts/Startup/Framework/Procedure/PatchUpdater/ProcedureUpdateStaticVersion.cs

42 lines
1.4 KiB
C#
Raw Normal View History

2025-01-23 19:06:48 +08:00
using System.Collections;
using Cysharp.Threading.Tasks;
using AlicizaX.Resource.Runtime;
2025-04-28 19:45:45 +08:00
using AlicizaX;
2025-01-23 19:06:48 +08:00
using UnityEngine;
using YooAsset;
namespace Unity.Startup.Procedure
{
2025-04-28 19:45:45 +08:00
internal sealed class ProcedureUpdateStaticVersion : StateBase<UpdateProcedureState>
2025-01-23 19:06:48 +08:00
{
2025-04-28 19:45:45 +08:00
protected override void OnEnter()
2025-01-23 19:06:48 +08:00
{
2025-01-24 16:21:00 +08:00
GameApp.Event.Fire(this, AssetPatchStatesChangeEventArgs.Create(EPatchStates.UpdateStaticVersion));
2025-04-28 19:45:45 +08:00
GetStaticVersion().Forget();
2025-01-23 19:06:48 +08:00
}
2025-04-28 19:45:45 +08:00
private async UniTaskVoid GetStaticVersion()
2025-01-23 19:06:48 +08:00
{
var buildInOperation = GameApp.Resource.RequestPackageVersionAsync();
2025-03-04 18:40:14 +08:00
var a = Progress.Create<float>((x) => { });
2025-01-23 19:06:48 +08:00
await buildInOperation.ToUniTask();
if (buildInOperation.Status == EOperationStatus.Succeed)
{
//更新成功
string packageVersion = buildInOperation.PackageVersion;
GameApp.Resource.PackageVersion = packageVersion;
2025-04-28 19:45:45 +08:00
Log.Info($"Updated package Version : {packageVersion}");
SwitchState(UpdateProcedureState.ProcedureUpdateManifest);
2025-01-23 19:06:48 +08:00
}
else
{
//更新失败
Log.Error(buildInOperation.Error);
2025-04-28 19:45:45 +08:00
SwitchState(UpdateProcedureState.ProcedureUpdateStaticVersion);
2025-01-23 19:06:48 +08:00
}
}
}
2025-01-24 16:21:00 +08:00
}