首次提交
This commit is contained in:
@@ -0,0 +1,22 @@
|
||||
namespace NBC.Asset
|
||||
{
|
||||
/// <summary>
|
||||
/// 编辑器初始化任务
|
||||
/// </summary>
|
||||
internal sealed class EditorInitializationTask : InitializationTask
|
||||
{
|
||||
public override float Progress => _taskList.Progress;
|
||||
private readonly SequenceTaskCollection _taskList = new SequenceTaskCollection();
|
||||
|
||||
protected override void OnStart()
|
||||
{
|
||||
_taskList.AddTask(new RunFunctionTask(Addressable.Load));
|
||||
_taskList.Run(TaskRunner.Def);
|
||||
}
|
||||
|
||||
protected override NTaskStatus OnProcess()
|
||||
{
|
||||
return _taskList.IsDone ? NTaskStatus.Success : NTaskStatus.Running;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: a024ad33e47f472bac1560a1445a86e0
|
||||
timeCreated: 1678289705
|
||||
@@ -0,0 +1,7 @@
|
||||
namespace NBC.Asset
|
||||
{
|
||||
public abstract class InitializationTask : NTask
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 0ddf142fca6745ffab9246551b920fb5
|
||||
timeCreated: 1678178623
|
||||
@@ -0,0 +1,29 @@
|
||||
namespace NBC.Asset
|
||||
{
|
||||
/// <summary>
|
||||
/// 移动端离线模式初始化任务
|
||||
/// </summary>
|
||||
internal sealed class OfflineInitializationTask : InitializationTask
|
||||
{
|
||||
public override float Progress => _taskList.Progress;
|
||||
private readonly SequenceTaskCollection _taskList = new SequenceTaskCollection();
|
||||
|
||||
protected override void OnStart()
|
||||
{
|
||||
if (!Const.NotCache)
|
||||
{
|
||||
_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;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: ae221ab297cd4bad9ee57abccd8bf15a
|
||||
timeCreated: 1678289694
|
||||
@@ -0,0 +1,26 @@
|
||||
namespace NBC.Asset
|
||||
{
|
||||
/// <summary>
|
||||
/// 线上模式初始化任务
|
||||
/// 优先从persistentData读取,如果没有,则从StreamingAssets拷贝清单文件到解压目录
|
||||
/// </summary>
|
||||
internal sealed class OnlineInitializationTask : 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(true));
|
||||
_taskList.AddTask(new CheckUnpackPackageTask(true));
|
||||
_taskList.AddTask(new RunFunctionTask(Addressable.Load));
|
||||
_taskList.Run(TaskRunner.Def);
|
||||
}
|
||||
|
||||
protected override NTaskStatus OnProcess()
|
||||
{
|
||||
return _taskList.IsDone ? _taskList.Status : NTaskStatus.Running;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: f61ebb0aa33b4ad29959494481b9f791
|
||||
timeCreated: 1678289682
|
||||
@@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 4eb2452a725944268e0beb871bbd6a22
|
||||
timeCreated: 1678290546
|
||||
@@ -0,0 +1,13 @@
|
||||
namespace NBC.Asset
|
||||
{
|
||||
/// <summary>
|
||||
/// 检查是否覆盖安装相关操作
|
||||
/// </summary>
|
||||
public class CheckCoverInstallTask : NTask
|
||||
{
|
||||
protected override NTaskStatus OnProcess()
|
||||
{
|
||||
return NTaskStatus.Success;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 5320f83282e844c398ba79be297eabca
|
||||
timeCreated: 1678291123
|
||||
@@ -0,0 +1,38 @@
|
||||
using System.IO;
|
||||
|
||||
namespace NBC.Asset
|
||||
{
|
||||
/// <summary>
|
||||
/// 检查是否需要解压package清单文件
|
||||
/// </summary>
|
||||
public class CheckUnpackPackageTask : NTask
|
||||
{
|
||||
private readonly ParallelTaskCollection _taskList = new ParallelTaskCollection();
|
||||
private readonly bool _download;
|
||||
|
||||
public CheckUnpackPackageTask(bool download = false)
|
||||
{
|
||||
_download = download;
|
||||
}
|
||||
|
||||
protected override void OnStart()
|
||||
{
|
||||
var versionData = Util.ReadJson<VersionData>(Const.GetCachePath(Const.VersionFileName));
|
||||
if (versionData != null)
|
||||
{
|
||||
var cachePath = Const.GetCachePath(versionData.NameHash);
|
||||
if (!File.Exists(cachePath))
|
||||
{
|
||||
_taskList.AddTask(new UnpackFileTask(versionData.NameHash, _download));
|
||||
}
|
||||
}
|
||||
|
||||
_taskList.Run(TaskRunner.Def);
|
||||
}
|
||||
|
||||
protected override NTaskStatus OnProcess()
|
||||
{
|
||||
return _taskList.IsDone ? _taskList.Status : NTaskStatus.Running;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: b8a22acc2aba454e9ebab180f56b2427
|
||||
timeCreated: 1678610857
|
||||
Reference in New Issue
Block a user