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

33 lines
963 B
C#
Raw Normal View History

2025-04-28 19:45:45 +08:00

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