using Cysharp.Threading.Tasks; using AlicizaX.Resource.Runtime; using AlicizaX.Fsm.Runtime; using AlicizaX.Procedure.Runtime; using AlicizaX.Runtime; using YooAsset; namespace Unity.Startup.Procedure { internal sealed class ProcedurePatchInit : ProcedureBase { protected override async void OnEnter(IFsm procedureOwner) { base.OnEnter(procedureOwner); if (GameApp.Resource.GamePlayMode == EPlayMode.EditorSimulateMode) { await GameApp.Resource.InitPackageAsync(); ChangeState(procedureOwner); return; } if (GameApp.Resource.GamePlayMode == EPlayMode.OfflinePlayMode) { Log.Info("当前为离线模式,直接启动 ProcedureUpdateStaticVersion"); await GameApp.Resource.InitPackageAsync(); ChangeState(procedureOwner); return; } Start(procedureOwner); } async void Start(IFsm procedureOwner) { string bundleUrl = GlobalSetting.PatchData.BundleUrl; Log.Info("下载资源的路径:" + bundleUrl); await GameApp.Resource.InitPackageAsync(string.Empty, bundleUrl, bundleUrl, true); await UniTask.DelayFrame(); ChangeState(procedureOwner); } } }