Update Patch System

离线模式移除资内置资源解压功能。
This commit is contained in:
hevinci
2022-06-25 11:42:50 +08:00
parent d452c610c1
commit 6471b237ce
4 changed files with 77 additions and 91 deletions

View File

@@ -124,72 +124,6 @@ namespace YooAsset
/// </summary>
internal static class PatchHelper
{
/// <summary>
/// 获取内置资源解压列表
/// </summary>
public static List<BundleInfo> GetUnpackListByTags(PatchManifest appPatchManifest, string[] tags)
{
// 注意:离线运行模式也依赖下面逻辑,所以判断沙盒内文件是否存在不能通过缓存系统去验证。
List<PatchBundle> downloadList = new List<PatchBundle>(1000);
foreach (var patchBundle in appPatchManifest.BundleList)
{
// 如果已经在沙盒内
string filePath = SandboxHelper.MakeCacheFilePath(patchBundle.Hash);
if (System.IO.File.Exists(filePath))
continue;
// 如果不是内置资源
if (patchBundle.IsBuildin == false)
continue;
// 查询DLC资源
if (patchBundle.HasTag(tags))
{
downloadList.Add(patchBundle);
}
}
return ConvertToUnpackList(downloadList);
}
public static List<BundleInfo> GetUnpackListByAll(PatchManifest appPatchManifest)
{
// 注意:离线运行模式也依赖下面逻辑,所以判断沙盒内文件是否存在不能通过缓存系统去验证。
List<PatchBundle> downloadList = new List<PatchBundle>(1000);
foreach (var patchBundle in appPatchManifest.BundleList)
{
// 如果已经在沙盒内
string filePath = SandboxHelper.MakeCacheFilePath(patchBundle.Hash);
if (System.IO.File.Exists(filePath))
continue;
// 如果不是内置资源
if (patchBundle.IsBuildin == false)
continue;
downloadList.Add(patchBundle);
}
return ConvertToUnpackList(downloadList);
}
private static List<BundleInfo> ConvertToUnpackList(List<PatchBundle> unpackList)
{
List<BundleInfo> result = new List<BundleInfo>(unpackList.Count);
foreach (var patchBundle in unpackList)
{
var bundleInfo = ConvertToUnpackInfo(patchBundle);
result.Add(bundleInfo);
}
return result;
}
private static BundleInfo ConvertToUnpackInfo(PatchBundle patchBundle)
{
// 注意:我们把流加载路径指定为远端下载地址
string streamingPath = PathHelper.MakeStreamingLoadPath(patchBundle.Hash);
streamingPath = PathHelper.ConvertToWWWPath(streamingPath);
BundleInfo bundleInfo = new BundleInfo(patchBundle, BundleInfo.ELoadMode.LoadFromRemote, streamingPath, streamingPath);
return bundleInfo;
}
/// <summary>
/// 获取资源信息列表
/// </summary>