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

40 lines
1.2 KiB
C#
Raw Normal View History

2025-01-23 19:06:48 +08:00
using Cysharp.Threading.Tasks;
2025-04-28 19:45:45 +08:00
using AlicizaX;
2025-01-23 19:06:48 +08:00
using YooAsset;
namespace Unity.Startup.Procedure
{
2025-04-28 19:45:45 +08:00
internal sealed class ProcedurePatchInit : StateBase<UpdateProcedureState>
2025-01-23 19:06:48 +08:00
{
2025-04-28 19:45:45 +08:00
protected override async void OnEnter()
2025-01-23 19:06:48 +08:00
{
2025-04-28 19:45:45 +08:00
if (GameApp.Resource.PlayMode == EPlayMode.EditorSimulateMode)
2025-01-23 19:06:48 +08:00
{
2025-01-24 16:21:00 +08:00
await GameApp.Resource.InitPackageAsync();
2025-04-28 19:45:45 +08:00
SwitchState(UpdateProcedureState.ProcedureUpdateStaticVersion);
2025-01-23 19:06:48 +08:00
return;
}
2025-04-28 19:45:45 +08:00
if (GameApp.Resource.PlayMode == EPlayMode.OfflinePlayMode)
2025-01-23 19:06:48 +08:00
{
Log.Info("当前为离线模式,直接启动 ProcedureUpdateStaticVersion");
2025-01-24 16:21:00 +08:00
await GameApp.Resource.InitPackageAsync();
2025-04-28 19:45:45 +08:00
SwitchState(UpdateProcedureState.ProcedureUpdateStaticVersion);
2025-01-23 19:06:48 +08:00
return;
}
2025-04-28 19:45:45 +08:00
Start();
2025-01-23 19:06:48 +08:00
}
2025-04-28 19:45:45 +08:00
async void Start()
2025-01-23 19:06:48 +08:00
{
2025-04-28 19:45:45 +08:00
string bundleUrl = HttpHelper.CDNUrl;
2025-01-23 19:06:48 +08:00
Log.Info("下载资源的路径:" + bundleUrl);
2025-04-28 19:45:45 +08:00
await GameApp.Resource.InitPackageAsync(string.Empty, bundleUrl, bundleUrl);
2025-01-23 19:06:48 +08:00
await UniTask.DelayFrame();
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
}