using System.Collections.Generic;
namespace NBC.Asset
{
///
/// 下载当前版本资源包任务
///
public class DownloadBundlesTask : DownloadTaskBase
{
private readonly SequenceTaskCollection _taskList = new SequenceTaskCollection();
private readonly List _downloadBundles;
public DownloadBundlesTask(List downloadBundles)
{
_downloadBundles = downloadBundles;
}
protected override void OnStart()
{
foreach (var bundle in _downloadBundles)
{
if (bundle.LoadMode != BundleLoadMode.LoadFromRemote) continue;
var bundleData = bundle.Bundle;
_taskList.AddTask(new DownloadFileTask(bundleData.RemoteDataFilePath, bundleData.CachedDataFilePath,
bundleData.Hash));
}
_taskList.Run(TaskRunner.DownloadRunner);
}
protected override NTaskStatus OnProcess()
{
return _taskList.IsDone ? NTaskStatus.Success : NTaskStatus.Running;
}
}
}