2025-01-23 19:06:48 +08:00
|
|
|
|
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 ProcedureCreateDownloader : 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.CreateDownloader));
|
2025-04-28 19:45:45 +08:00
|
|
|
|
CreateDownloader();
|
2025-01-23 19:06:48 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
2025-04-28 19:45:45 +08:00
|
|
|
|
void CreateDownloader()
|
2025-01-23 19:06:48 +08:00
|
|
|
|
{
|
2025-04-28 19:45:45 +08:00
|
|
|
|
ResourceDownloaderOperation downloader = ModuleSystem.GetModule<IResourceModule>().CreateResourceDownloader();
|
|
|
|
|
|
StartupSetting.Downloader = downloader;
|
2025-01-23 19:06:48 +08:00
|
|
|
|
if (downloader.TotalDownloadCount == 0)
|
|
|
|
|
|
{
|
2025-01-24 16:21:00 +08:00
|
|
|
|
Log.Info("没有发现需要下载的资源");
|
2025-04-28 19:45:45 +08:00
|
|
|
|
SwitchState(UpdateProcedureState.ProcedurePatchDone);
|
2025-01-23 19:06:48 +08:00
|
|
|
|
}
|
|
|
|
|
|
else
|
|
|
|
|
|
{
|
|
|
|
|
|
// 发现新更新文件后,挂起流程系统
|
|
|
|
|
|
int totalDownloadCount = downloader.TotalDownloadCount;
|
|
|
|
|
|
long totalDownloadBytes = downloader.TotalDownloadBytes;
|
|
|
|
|
|
|
|
|
|
|
|
float sizeMb = totalDownloadBytes / 1048576f;
|
|
|
|
|
|
sizeMb = Mathf.Clamp(sizeMb, 0.1f, float.MaxValue);
|
|
|
|
|
|
string totalSizeMb = sizeMb.ToString("f1");
|
|
|
|
|
|
|
2025-01-26 20:55:39 +08:00
|
|
|
|
Log.Info($"一共发现了{downloader.TotalDownloadCount}个资源需要更新下载,总共需要下载文件大小为:{totalSizeMb}!");
|
2025-01-24 16:21:00 +08:00
|
|
|
|
|
2025-01-23 19:06:48 +08:00
|
|
|
|
//这里进行确认 如果要下载在进行跳转到Download
|
2025-04-28 19:45:45 +08:00
|
|
|
|
SwitchState(UpdateProcedureState.ProcedureDownloadWebFiles);
|
2025-01-23 19:06:48 +08:00
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
2025-01-24 16:21:00 +08:00
|
|
|
|
}
|