feat : add WebNetwork file system

This commit is contained in:
何冠峰
2026-05-27 10:31:35 +08:00
parent af7aecbf0b
commit 72c5a9588e
4 changed files with 6 additions and 19 deletions

View File

@@ -46,7 +46,7 @@ namespace YooAsset
assetBundleDecryptor: _fileCache.Config.AssetBundleDecryptor,
downloadBackend: _fileCache.Config.DownloadBackend,
downloadVerifyLevel: _fileCache.Config.DownloadVerifyLevel,
watchdogTimeout: _fileCache.Config.WatchdogTimeout,
watchdogTimeout: 0,
downloadRetryPolicy: _fileCache.Config.DownloadRetryPolicy,
downloadUrlPolicy: _fileCache.Config.DownloadUrlPolicy);
_loadBundleOp = new LoadWebEncryptedAssetBundleOperation(encryptedOptions);
@@ -58,7 +58,7 @@ namespace YooAsset
candidateUrls: urls,
platformStrategy: _fileCache.Config.PlatformStrategy,
downloadBackend: _fileCache.Config.DownloadBackend,
watchdogTimeout: _fileCache.Config.WatchdogTimeout,
watchdogTimeout: 0,
disableUnityWebCache: _fileCache.Config.DisableUnityWebCache,
downloadRetryPolicy: _fileCache.Config.DownloadRetryPolicy,
downloadUrlPolicy: _fileCache.Config.DownloadUrlPolicy);

View File

@@ -44,7 +44,7 @@ namespace YooAsset
rawBundleDecryptor: _fileCache.Config.RawBundleDecryptor,
downloadBackend: _fileCache.Config.DownloadBackend,
downloadVerifyLevel: _fileCache.Config.DownloadVerifyLevel,
watchdogTimeout: _fileCache.Config.WatchdogTimeout,
watchdogTimeout: 0,
downloadRetryPolicy: _fileCache.Config.DownloadRetryPolicy,
downloadUrlPolicy: _fileCache.Config.DownloadUrlPolicy);
_loadBundleOp = new LoadWebRawBundleOperation(options);

View File

@@ -7,11 +7,6 @@ namespace YooAsset
{
internal readonly struct Configuration
{
/// <summary>
/// 看门狗超时时间
/// </summary>
public int WatchdogTimeout { get; }
/// <summary>
/// 禁用 Unity 内置网络缓存
/// </summary>
@@ -57,12 +52,11 @@ namespace YooAsset
/// </summary>
public IDownloadUrlPolicy DownloadUrlPolicy { get; }
public Configuration(int watchdogTimeout, bool disableUnityWebCache,
public Configuration(bool disableUnityWebCache,
EFileVerifyLevel downloadVerifyLevel, IBundleDecryptor assetBundleDecryptor, IBundleDecryptor rawBundleDecryptor,
IWebPlatformStrategy platformStrategy, IRemoteService remoteService, IDownloadBackend downloadBackend,
IDownloadRetryPolicy downloadRetryPolicy, IDownloadUrlPolicy downloadUrlPolicy)
{
WatchdogTimeout = watchdogTimeout;
DisableUnityWebCache = disableUnityWebCache;
DownloadVerifyLevel = downloadVerifyLevel;
AssetBundleDecryptor = assetBundleDecryptor;

View File

@@ -1,5 +1,4 @@
using System;
using UnityEngine;
namespace YooAsset
{
@@ -40,11 +39,6 @@ namespace YooAsset
/// </summary>
public bool DisableUnityWebCache { get; private set; } = false;
/// <summary>
/// 自定义参数:下载任务的看门狗机制超时时间
/// </summary>
public int DownloadWatchdogTimeout { get; private set; } = 0;
/// <summary>
/// 自定义参数:下载的资源包数据的校验级别
/// </summary>
@@ -145,8 +139,8 @@ namespace YooAsset
}
else if (paramName == nameof(EFileSystemParameter.DownloadWatchdogTimeout))
{
int convertValue = FileSystemHelper.CastParameter<int>(paramName, value);
DownloadWatchdogTimeout = Mathf.Max(convertValue, 0);
// 小游戏平台的 UnityWebRequest 可能无法返回可靠的下载字节数,因此不支持看门狗机制。
YooLogger.LogError($"{nameof(EFileSystemParameter.DownloadWatchdogTimeout)} is not supported by {nameof(WebNetworkFileSystem)}.");
}
else if (paramName == nameof(EFileSystemParameter.FileVerifyLevel))
{
@@ -208,7 +202,6 @@ namespace YooAsset
// 创建文件缓存系统
var cacheConfig = new WebNetworkBundleCache.Configuration(
watchdogTimeout: DownloadWatchdogTimeout,
disableUnityWebCache: DisableUnityWebCache,
downloadVerifyLevel: DownloadVerifyLevel,
assetBundleDecryptor: AssetBundleDecryptor,