mirror of
https://github.com/tuyoogame/YooAsset.git
synced 2026-05-31 05:58:47 +00:00
feat : add WebNetwork file system
This commit is contained in:
@@ -46,7 +46,7 @@ namespace YooAsset
|
|||||||
assetBundleDecryptor: _fileCache.Config.AssetBundleDecryptor,
|
assetBundleDecryptor: _fileCache.Config.AssetBundleDecryptor,
|
||||||
downloadBackend: _fileCache.Config.DownloadBackend,
|
downloadBackend: _fileCache.Config.DownloadBackend,
|
||||||
downloadVerifyLevel: _fileCache.Config.DownloadVerifyLevel,
|
downloadVerifyLevel: _fileCache.Config.DownloadVerifyLevel,
|
||||||
watchdogTimeout: _fileCache.Config.WatchdogTimeout,
|
watchdogTimeout: 0,
|
||||||
downloadRetryPolicy: _fileCache.Config.DownloadRetryPolicy,
|
downloadRetryPolicy: _fileCache.Config.DownloadRetryPolicy,
|
||||||
downloadUrlPolicy: _fileCache.Config.DownloadUrlPolicy);
|
downloadUrlPolicy: _fileCache.Config.DownloadUrlPolicy);
|
||||||
_loadBundleOp = new LoadWebEncryptedAssetBundleOperation(encryptedOptions);
|
_loadBundleOp = new LoadWebEncryptedAssetBundleOperation(encryptedOptions);
|
||||||
@@ -58,7 +58,7 @@ namespace YooAsset
|
|||||||
candidateUrls: urls,
|
candidateUrls: urls,
|
||||||
platformStrategy: _fileCache.Config.PlatformStrategy,
|
platformStrategy: _fileCache.Config.PlatformStrategy,
|
||||||
downloadBackend: _fileCache.Config.DownloadBackend,
|
downloadBackend: _fileCache.Config.DownloadBackend,
|
||||||
watchdogTimeout: _fileCache.Config.WatchdogTimeout,
|
watchdogTimeout: 0,
|
||||||
disableUnityWebCache: _fileCache.Config.DisableUnityWebCache,
|
disableUnityWebCache: _fileCache.Config.DisableUnityWebCache,
|
||||||
downloadRetryPolicy: _fileCache.Config.DownloadRetryPolicy,
|
downloadRetryPolicy: _fileCache.Config.DownloadRetryPolicy,
|
||||||
downloadUrlPolicy: _fileCache.Config.DownloadUrlPolicy);
|
downloadUrlPolicy: _fileCache.Config.DownloadUrlPolicy);
|
||||||
|
|||||||
@@ -44,7 +44,7 @@ namespace YooAsset
|
|||||||
rawBundleDecryptor: _fileCache.Config.RawBundleDecryptor,
|
rawBundleDecryptor: _fileCache.Config.RawBundleDecryptor,
|
||||||
downloadBackend: _fileCache.Config.DownloadBackend,
|
downloadBackend: _fileCache.Config.DownloadBackend,
|
||||||
downloadVerifyLevel: _fileCache.Config.DownloadVerifyLevel,
|
downloadVerifyLevel: _fileCache.Config.DownloadVerifyLevel,
|
||||||
watchdogTimeout: _fileCache.Config.WatchdogTimeout,
|
watchdogTimeout: 0,
|
||||||
downloadRetryPolicy: _fileCache.Config.DownloadRetryPolicy,
|
downloadRetryPolicy: _fileCache.Config.DownloadRetryPolicy,
|
||||||
downloadUrlPolicy: _fileCache.Config.DownloadUrlPolicy);
|
downloadUrlPolicy: _fileCache.Config.DownloadUrlPolicy);
|
||||||
_loadBundleOp = new LoadWebRawBundleOperation(options);
|
_loadBundleOp = new LoadWebRawBundleOperation(options);
|
||||||
|
|||||||
@@ -7,11 +7,6 @@ namespace YooAsset
|
|||||||
{
|
{
|
||||||
internal readonly struct Configuration
|
internal readonly struct Configuration
|
||||||
{
|
{
|
||||||
/// <summary>
|
|
||||||
/// 看门狗超时时间
|
|
||||||
/// </summary>
|
|
||||||
public int WatchdogTimeout { get; }
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 禁用 Unity 内置网络缓存
|
/// 禁用 Unity 内置网络缓存
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -57,12 +52,11 @@ namespace YooAsset
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public IDownloadUrlPolicy DownloadUrlPolicy { get; }
|
public IDownloadUrlPolicy DownloadUrlPolicy { get; }
|
||||||
|
|
||||||
public Configuration(int watchdogTimeout, bool disableUnityWebCache,
|
public Configuration(bool disableUnityWebCache,
|
||||||
EFileVerifyLevel downloadVerifyLevel, IBundleDecryptor assetBundleDecryptor, IBundleDecryptor rawBundleDecryptor,
|
EFileVerifyLevel downloadVerifyLevel, IBundleDecryptor assetBundleDecryptor, IBundleDecryptor rawBundleDecryptor,
|
||||||
IWebPlatformStrategy platformStrategy, IRemoteService remoteService, IDownloadBackend downloadBackend,
|
IWebPlatformStrategy platformStrategy, IRemoteService remoteService, IDownloadBackend downloadBackend,
|
||||||
IDownloadRetryPolicy downloadRetryPolicy, IDownloadUrlPolicy downloadUrlPolicy)
|
IDownloadRetryPolicy downloadRetryPolicy, IDownloadUrlPolicy downloadUrlPolicy)
|
||||||
{
|
{
|
||||||
WatchdogTimeout = watchdogTimeout;
|
|
||||||
DisableUnityWebCache = disableUnityWebCache;
|
DisableUnityWebCache = disableUnityWebCache;
|
||||||
DownloadVerifyLevel = downloadVerifyLevel;
|
DownloadVerifyLevel = downloadVerifyLevel;
|
||||||
AssetBundleDecryptor = assetBundleDecryptor;
|
AssetBundleDecryptor = assetBundleDecryptor;
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
using System;
|
using System;
|
||||||
using UnityEngine;
|
|
||||||
|
|
||||||
namespace YooAsset
|
namespace YooAsset
|
||||||
{
|
{
|
||||||
@@ -40,11 +39,6 @@ namespace YooAsset
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public bool DisableUnityWebCache { get; private set; } = false;
|
public bool DisableUnityWebCache { get; private set; } = false;
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 自定义参数:下载任务的看门狗机制超时时间
|
|
||||||
/// </summary>
|
|
||||||
public int DownloadWatchdogTimeout { get; private set; } = 0;
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 自定义参数:下载的资源包数据的校验级别
|
/// 自定义参数:下载的资源包数据的校验级别
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -145,8 +139,8 @@ namespace YooAsset
|
|||||||
}
|
}
|
||||||
else if (paramName == nameof(EFileSystemParameter.DownloadWatchdogTimeout))
|
else if (paramName == nameof(EFileSystemParameter.DownloadWatchdogTimeout))
|
||||||
{
|
{
|
||||||
int convertValue = FileSystemHelper.CastParameter<int>(paramName, value);
|
// 小游戏平台的 UnityWebRequest 可能无法返回可靠的下载字节数,因此不支持看门狗机制。
|
||||||
DownloadWatchdogTimeout = Mathf.Max(convertValue, 0);
|
YooLogger.LogError($"{nameof(EFileSystemParameter.DownloadWatchdogTimeout)} is not supported by {nameof(WebNetworkFileSystem)}.");
|
||||||
}
|
}
|
||||||
else if (paramName == nameof(EFileSystemParameter.FileVerifyLevel))
|
else if (paramName == nameof(EFileSystemParameter.FileVerifyLevel))
|
||||||
{
|
{
|
||||||
@@ -208,7 +202,6 @@ namespace YooAsset
|
|||||||
|
|
||||||
// 创建文件缓存系统
|
// 创建文件缓存系统
|
||||||
var cacheConfig = new WebNetworkBundleCache.Configuration(
|
var cacheConfig = new WebNetworkBundleCache.Configuration(
|
||||||
watchdogTimeout: DownloadWatchdogTimeout,
|
|
||||||
disableUnityWebCache: DisableUnityWebCache,
|
disableUnityWebCache: DisableUnityWebCache,
|
||||||
downloadVerifyLevel: DownloadVerifyLevel,
|
downloadVerifyLevel: DownloadVerifyLevel,
|
||||||
assetBundleDecryptor: AssetBundleDecryptor,
|
assetBundleDecryptor: AssetBundleDecryptor,
|
||||||
|
|||||||
Reference in New Issue
Block a user