namespace NBC.Asset { /// /// 离线模式初始化任务 /// internal sealed class OfflineInitializationTask : InitializationTask { public override float Progress => _taskList.Progress; private readonly SequenceTaskCollection _taskList = new SequenceTaskCollection(); protected override void OnStart() { _taskList.AddTask(new CheckCoverInstallTask()); _taskList.AddTask(new UnpackVersionTask()); _taskList.AddTask(new CheckUnpackPackageTask()); _taskList.AddTask(new RunFunctionTask(Addressable.Load)); _taskList.Run(TaskRunner.Def); } protected override NTaskStatus OnProcess() { return _taskList.IsDone ? _taskList.Status : NTaskStatus.Running; } } }