首次提交

This commit is contained in:
Bob.Song
2026-03-05 18:07:55 +08:00
commit e125bb869e
4534 changed files with 563920 additions and 0 deletions

View File

@@ -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;
}
}
}

View File

@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: a024ad33e47f472bac1560a1445a86e0
timeCreated: 1678289705

View File

@@ -0,0 +1,7 @@
namespace NBC.Asset
{
public abstract class InitializationTask : NTask
{
}
}

View File

@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 0ddf142fca6745ffab9246551b920fb5
timeCreated: 1678178623

View File

@@ -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;
}
}
}

View File

@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: ae221ab297cd4bad9ee57abccd8bf15a
timeCreated: 1678289694

View File

@@ -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;
}
}
}

View File

@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: f61ebb0aa33b4ad29959494481b9f791
timeCreated: 1678289682

View File

@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 4eb2452a725944268e0beb871bbd6a22
timeCreated: 1678290546

View File

@@ -0,0 +1,13 @@
namespace NBC.Asset
{
/// <summary>
/// 检查是否覆盖安装相关操作
/// </summary>
public class CheckCoverInstallTask : NTask
{
protected override NTaskStatus OnProcess()
{
return NTaskStatus.Success;
}
}
}

View File

@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 5320f83282e844c398ba79be297eabca
timeCreated: 1678291123

View File

@@ -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;
}
}
}

View File

@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: b8a22acc2aba454e9ebab180f56b2427
timeCreated: 1678610857