AlicizaX/Client/Assets/Scripts/Startup/Framework/Procedure/PatchUpdater/ProcedureClearCache.cs
2025-04-28 19:45:45 +08:00

33 lines
963 B
C#

using AlicizaX;
using Cysharp.Threading.Tasks;
using UnityEngine;
using YooAsset;
namespace Unity.Startup.Procedure
{
internal sealed class ProcedureClearCache : StateBase<UpdateProcedureState>
{
protected override void OnEnter()
{
Log.Info("开始清理包裹无用缓存!");
ClearCacheFilesOperation operation = GameApp.Resource.ClearCacheFilesAsync(EFileClearMode.ClearUnusedBundleFiles);
operation.Completed += ClearCacheCompleted;
}
private void ClearCacheCompleted(AsyncOperationBase obj)
{
Log.Info($"清理包裹缓存完成");
SimulateProgress().Forget();
}
private async UniTask SimulateProgress()
{
await LauncherUIHandler.StartProgressCoroutine(3f).ToUniTask();
Log.Info("模拟加载进度完毕");
SwitchState(UpdateProcedureState.ProcedureLoadAssembly);
}
}
}