diff --git a/Assets/YooAsset/Runtime/FileSystem/DefaultBuildinFileSystem/DefaultBuildinFileSystem.cs b/Assets/YooAsset/Runtime/FileSystem/DefaultBuildinFileSystem/DefaultBuildinFileSystem.cs
index 615e4d53..94665bf0 100644
--- a/Assets/YooAsset/Runtime/FileSystem/DefaultBuildinFileSystem/DefaultBuildinFileSystem.cs
+++ b/Assets/YooAsset/Runtime/FileSystem/DefaultBuildinFileSystem/DefaultBuildinFileSystem.cs
@@ -109,9 +109,9 @@ namespace YooAsset
var operation = new DBFSRequestPackageVersionOperation(this);
return operation;
}
- public virtual FSClearCacheFilesOperation ClearCacheFilesAsync(PackageManifest manifest, string clearMode, object clearParam)
+ public virtual FSClearCacheFilesOperation ClearCacheFilesAsync(PackageManifest manifest, ClearCacheFilesOptions options)
{
- return _unpackFileSystem.ClearCacheFilesAsync(manifest, clearMode, clearParam);
+ return _unpackFileSystem.ClearCacheFilesAsync(manifest, options);
}
public virtual FSDownloadFileOperation DownloadFileAsync(PackageBundle bundle, DownloadParam param)
{
diff --git a/Assets/YooAsset/Runtime/FileSystem/DefaultCacheFileSystem/DefaultCacheFileSystem.cs b/Assets/YooAsset/Runtime/FileSystem/DefaultCacheFileSystem/DefaultCacheFileSystem.cs
index a2e3e6ae..dcd99d0e 100644
--- a/Assets/YooAsset/Runtime/FileSystem/DefaultCacheFileSystem/DefaultCacheFileSystem.cs
+++ b/Assets/YooAsset/Runtime/FileSystem/DefaultCacheFileSystem/DefaultCacheFileSystem.cs
@@ -120,36 +120,36 @@ namespace YooAsset
var operation = new DCFSRequestPackageVersionOperation(this, appendTimeTicks, timeout);
return operation;
}
- public virtual FSClearCacheFilesOperation ClearCacheFilesAsync(PackageManifest manifest, string clearMode, object clearParam)
+ public virtual FSClearCacheFilesOperation ClearCacheFilesAsync(PackageManifest manifest, ClearCacheFilesOptions options)
{
- if (clearMode == EFileClearMode.ClearAllBundleFiles.ToString())
+ if (options.ClearMode == EFileClearMode.ClearAllBundleFiles.ToString())
{
var operation = new ClearAllCacheBundleFilesOperation(this);
return operation;
}
- else if (clearMode == EFileClearMode.ClearUnusedBundleFiles.ToString())
+ else if (options.ClearMode == EFileClearMode.ClearUnusedBundleFiles.ToString())
{
var operation = new ClearUnusedCacheBundleFilesOperation(this, manifest);
return operation;
}
- else if (clearMode == EFileClearMode.ClearBundleFilesByTags.ToString())
+ else if (options.ClearMode == EFileClearMode.ClearBundleFilesByTags.ToString())
{
- var operation = new ClearCacheBundleFilesByTagsOperaiton(this, manifest, clearParam);
+ var operation = new ClearCacheBundleFilesByTagsOperaiton(this, manifest, options.ClearParam);
return operation;
}
- else if (clearMode == EFileClearMode.ClearAllManifestFiles.ToString())
+ else if (options.ClearMode == EFileClearMode.ClearAllManifestFiles.ToString())
{
var operation = new ClearAllCacheManifestFilesOperation(this);
return operation;
}
- else if (clearMode == EFileClearMode.ClearUnusedManifestFiles.ToString())
+ else if (options.ClearMode == EFileClearMode.ClearUnusedManifestFiles.ToString())
{
var operation = new ClearUnusedCacheManifestFilesOperation(this, manifest);
return operation;
}
else
{
- string error = $"Invalid clear mode : {clearMode}";
+ string error = $"Invalid clear mode : {options.ClearMode}";
var operation = new FSClearCacheFilesCompleteOperation(error);
return operation;
}
diff --git a/Assets/YooAsset/Runtime/FileSystem/DefaultEditorFileSystem/DefaultEditorFileSystem.cs b/Assets/YooAsset/Runtime/FileSystem/DefaultEditorFileSystem/DefaultEditorFileSystem.cs
index 930ec556..27007622 100644
--- a/Assets/YooAsset/Runtime/FileSystem/DefaultEditorFileSystem/DefaultEditorFileSystem.cs
+++ b/Assets/YooAsset/Runtime/FileSystem/DefaultEditorFileSystem/DefaultEditorFileSystem.cs
@@ -66,7 +66,7 @@ namespace YooAsset
var operation = new DEFSRequestPackageVersionOperation(this);
return operation;
}
- public virtual FSClearCacheFilesOperation ClearCacheFilesAsync(PackageManifest manifest, string clearMode, object clearParam)
+ public virtual FSClearCacheFilesOperation ClearCacheFilesAsync(PackageManifest manifest, ClearCacheFilesOptions options)
{
var operation = new FSClearCacheFilesCompleteOperation();
return operation;
diff --git a/Assets/YooAsset/Runtime/FileSystem/DefaultWebRemoteFileSystem/DefaultWebRemoteFileSystem.cs b/Assets/YooAsset/Runtime/FileSystem/DefaultWebRemoteFileSystem/DefaultWebRemoteFileSystem.cs
index 1ea14951..80aedffd 100644
--- a/Assets/YooAsset/Runtime/FileSystem/DefaultWebRemoteFileSystem/DefaultWebRemoteFileSystem.cs
+++ b/Assets/YooAsset/Runtime/FileSystem/DefaultWebRemoteFileSystem/DefaultWebRemoteFileSystem.cs
@@ -73,7 +73,7 @@ namespace YooAsset
var operation = new DWRFSRequestPackageVersionOperation(this, appendTimeTicks, timeout);
return operation;
}
- public virtual FSClearCacheFilesOperation ClearCacheFilesAsync(PackageManifest manifest, string clearMode, object clearParam)
+ public virtual FSClearCacheFilesOperation ClearCacheFilesAsync(PackageManifest manifest, ClearCacheFilesOptions options)
{
var operation = new FSClearCacheFilesCompleteOperation();
return operation;
diff --git a/Assets/YooAsset/Runtime/FileSystem/DefaultWebServerFileSystem/DefaultWebServerFileSystem.cs b/Assets/YooAsset/Runtime/FileSystem/DefaultWebServerFileSystem/DefaultWebServerFileSystem.cs
index 22d9b5d8..ae2547ba 100644
--- a/Assets/YooAsset/Runtime/FileSystem/DefaultWebServerFileSystem/DefaultWebServerFileSystem.cs
+++ b/Assets/YooAsset/Runtime/FileSystem/DefaultWebServerFileSystem/DefaultWebServerFileSystem.cs
@@ -82,7 +82,7 @@ namespace YooAsset
var operation = new DWSFSRequestPackageVersionOperation(this, timeout);
return operation;
}
- public virtual FSClearCacheFilesOperation ClearCacheFilesAsync(PackageManifest manifest, string clearMode, object clearParam)
+ public virtual FSClearCacheFilesOperation ClearCacheFilesAsync(PackageManifest manifest, ClearCacheFilesOptions options)
{
var operation = new FSClearCacheFilesCompleteOperation();
return operation;
diff --git a/Assets/YooAsset/Runtime/FileSystem/Interface/IFileSystem.cs b/Assets/YooAsset/Runtime/FileSystem/Interface/IFileSystem.cs
index 4a296f45..e6e01802 100644
--- a/Assets/YooAsset/Runtime/FileSystem/Interface/IFileSystem.cs
+++ b/Assets/YooAsset/Runtime/FileSystem/Interface/IFileSystem.cs
@@ -37,7 +37,7 @@ namespace YooAsset
///
/// 清理缓存文件
///
- FSClearCacheFilesOperation ClearCacheFilesAsync(PackageManifest manifest, string clearMode, object clearParam);
+ FSClearCacheFilesOperation ClearCacheFilesAsync(PackageManifest manifest, ClearCacheFilesOptions options);
///
/// 下载Bundle文件
diff --git a/Assets/YooAsset/Runtime/FileSystem/Operation/FSClearCacheFilesOperation.cs b/Assets/YooAsset/Runtime/FileSystem/Operation/FSClearCacheFilesOperation.cs
index 6c72accc..d78f4e46 100644
--- a/Assets/YooAsset/Runtime/FileSystem/Operation/FSClearCacheFilesOperation.cs
+++ b/Assets/YooAsset/Runtime/FileSystem/Operation/FSClearCacheFilesOperation.cs
@@ -1,6 +1,19 @@
namespace YooAsset
{
+ internal class ClearCacheFilesOptions
+ {
+ ///
+ /// 清理模式
+ ///
+ public string ClearMode;
+
+ ///
+ /// 附加参数
+ ///
+ public object ClearParam;
+ }
+
internal abstract class FSClearCacheFilesOperation : AsyncOperationBase
{
}
diff --git a/Assets/YooAsset/Runtime/ResourcePackage/Interface/IPlayMode.cs b/Assets/YooAsset/Runtime/ResourcePackage/Interface/IPlayMode.cs
index d4b45496..e859ae5e 100644
--- a/Assets/YooAsset/Runtime/ResourcePackage/Interface/IPlayMode.cs
+++ b/Assets/YooAsset/Runtime/ResourcePackage/Interface/IPlayMode.cs
@@ -31,8 +31,8 @@ namespace YooAsset
///
/// 清理缓存文件
///
- ClearCacheFilesOperation ClearCacheFilesAsync(string clearMode, object clearParam);
-
+ ClearCacheFilesOperation ClearCacheFilesAsync(ClearCacheFilesOptions options);
+
// 下载相关
ResourceDownloaderOperation CreateResourceDownloaderByAll(int downloadingMaxNumber, int failedTryAgain, int timeout);
ResourceDownloaderOperation CreateResourceDownloaderByTags(string[] tags, int downloadingMaxNumber, int failedTryAgain, int timeout);
diff --git a/Assets/YooAsset/Runtime/ResourcePackage/Operation/ClearCacheFilesOperation.cs b/Assets/YooAsset/Runtime/ResourcePackage/Operation/ClearCacheFilesOperation.cs
index 5c4baf04..abcd0b9e 100644
--- a/Assets/YooAsset/Runtime/ResourcePackage/Operation/ClearCacheFilesOperation.cs
+++ b/Assets/YooAsset/Runtime/ResourcePackage/Operation/ClearCacheFilesOperation.cs
@@ -15,17 +15,15 @@ namespace YooAsset
}
private readonly PlayModeImpl _impl;
- private readonly string _clearMode;
- private readonly object _clearParam;
+ private readonly ClearCacheFilesOptions _options;
private List _cloneList;
private FSClearCacheFilesOperation _clearCacheFilesOp;
private ESteps _steps = ESteps.None;
- internal ClearCacheFilesOperation(PlayModeImpl impl, string clearMode, object clearParam)
+ internal ClearCacheFilesOperation(PlayModeImpl impl, ClearCacheFilesOptions options)
{
_impl = impl;
- _clearMode = clearMode;
- _clearParam = clearParam;
+ _options = options;
}
internal override void InternalStart()
{
@@ -74,7 +72,7 @@ namespace YooAsset
var fileSystem = _cloneList[0];
_cloneList.RemoveAt(0);
- _clearCacheFilesOp = fileSystem.ClearCacheFilesAsync(_impl.ActiveManifest, _clearMode, _clearParam);
+ _clearCacheFilesOp = fileSystem.ClearCacheFilesAsync(_impl.ActiveManifest, _options);
_clearCacheFilesOp.StartOperation();
AddChildOperation(_clearCacheFilesOp);
_steps = ESteps.CheckClearResult;
@@ -102,7 +100,7 @@ namespace YooAsset
}
internal override string InternalGetDesc()
{
- return $"ClearMode : {_clearMode}";
+ return $"ClearMode : {_options.ClearMode}";
}
}
}
\ No newline at end of file
diff --git a/Assets/YooAsset/Runtime/ResourcePackage/PlayMode/PlayModeImpl.cs b/Assets/YooAsset/Runtime/ResourcePackage/PlayMode/PlayModeImpl.cs
index 7fec55a4..15c91f0b 100644
--- a/Assets/YooAsset/Runtime/ResourcePackage/PlayMode/PlayModeImpl.cs
+++ b/Assets/YooAsset/Runtime/ResourcePackage/PlayMode/PlayModeImpl.cs
@@ -97,9 +97,9 @@ namespace YooAsset
///
/// 清理缓存文件
///
- ClearCacheFilesOperation IPlayMode.ClearCacheFilesAsync(string clearMode, object clearParam)
+ ClearCacheFilesOperation IPlayMode.ClearCacheFilesAsync(ClearCacheFilesOptions options)
{
- var operation = new ClearCacheFilesOperation(this, clearMode, clearParam);
+ var operation = new ClearCacheFilesOperation(this, options);
return operation;
}
diff --git a/Assets/YooAsset/Runtime/ResourcePackage/ResourcePackage.cs b/Assets/YooAsset/Runtime/ResourcePackage/ResourcePackage.cs
index d30511c8..055a5e6c 100644
--- a/Assets/YooAsset/Runtime/ResourcePackage/ResourcePackage.cs
+++ b/Assets/YooAsset/Runtime/ResourcePackage/ResourcePackage.cs
@@ -268,7 +268,10 @@ namespace YooAsset
public ClearCacheFilesOperation ClearCacheFilesAsync(EFileClearMode clearMode, object clearParam = null)
{
DebugCheckInitialize(false);
- var operation = _playModeImpl.ClearCacheFilesAsync(clearMode.ToString(), clearParam);
+ ClearCacheFilesOptions options = new ClearCacheFilesOptions();
+ options.ClearMode = clearMode.ToString();
+ options.ClearParam = clearParam;
+ var operation = _playModeImpl.ClearCacheFilesAsync(options);
OperationSystem.StartOperation(PackageName, operation);
return operation;
}
@@ -281,7 +284,10 @@ namespace YooAsset
public ClearCacheFilesOperation ClearCacheFilesAsync(string clearMode, object clearParam = null)
{
DebugCheckInitialize(false);
- var operation = _playModeImpl.ClearCacheFilesAsync(clearMode, clearParam);
+ ClearCacheFilesOptions options = new ClearCacheFilesOptions();
+ options.ClearMode = clearMode;
+ options.ClearParam = clearParam;
+ var operation = _playModeImpl.ClearCacheFilesAsync(options);
OperationSystem.StartOperation(PackageName, operation);
return operation;
}
diff --git a/Assets/YooAsset/Samples~/Extension Sample/Runtime/ExtensionFileSystem/TiktokFileSystem/TiktokFileSystem.cs b/Assets/YooAsset/Samples~/Extension Sample/Runtime/ExtensionFileSystem/TiktokFileSystem/TiktokFileSystem.cs
index 00f0debf..f356fdda 100644
--- a/Assets/YooAsset/Samples~/Extension Sample/Runtime/ExtensionFileSystem/TiktokFileSystem/TiktokFileSystem.cs
+++ b/Assets/YooAsset/Samples~/Extension Sample/Runtime/ExtensionFileSystem/TiktokFileSystem/TiktokFileSystem.cs
@@ -124,7 +124,7 @@ internal class TiktokFileSystem : IFileSystem
var operation = new TTFSRequestPackageVersionOperation(this, timeout);
return operation;
}
- public virtual FSClearCacheFilesOperation ClearCacheFilesAsync(PackageManifest manifest, string clearMode, object clearParam)
+ public virtual FSClearCacheFilesOperation ClearCacheFilesAsync(PackageManifest manifest, ClearCacheFilesOptions options)
{
var operation = new FSClearCacheFilesCompleteOperation();
return operation;
diff --git a/Assets/YooAsset/Samples~/Extension Sample/Runtime/ExtensionFileSystem/WechatFileSystem/WechatFileSystem.cs b/Assets/YooAsset/Samples~/Extension Sample/Runtime/ExtensionFileSystem/WechatFileSystem/WechatFileSystem.cs
index 36969ea4..696e0f0b 100644
--- a/Assets/YooAsset/Samples~/Extension Sample/Runtime/ExtensionFileSystem/WechatFileSystem/WechatFileSystem.cs
+++ b/Assets/YooAsset/Samples~/Extension Sample/Runtime/ExtensionFileSystem/WechatFileSystem/WechatFileSystem.cs
@@ -125,21 +125,21 @@ internal class WechatFileSystem : IFileSystem
var operation = new WXFSRequestPackageVersionOperation(this, appendTimeTicks, timeout);
return operation;
}
- public virtual FSClearCacheFilesOperation ClearCacheFilesAsync(PackageManifest manifest, string clearMode, object clearParam)
+ public virtual FSClearCacheFilesOperation ClearCacheFilesAsync(PackageManifest manifest, ClearCacheFilesOptions options)
{
- if (clearMode == EFileClearMode.ClearAllBundleFiles.ToString())
+ if (options.ClearMode == EFileClearMode.ClearAllBundleFiles.ToString())
{
var operation = new WXFSClearAllBundleFilesOperation(this);
return operation;
}
- else if (clearMode == EFileClearMode.ClearUnusedBundleFiles.ToString())
+ else if (options.ClearMode == EFileClearMode.ClearUnusedBundleFiles.ToString())
{
var operation = new WXFSClearUnusedBundleFilesAsync(this, manifest);
return operation;
}
else
{
- string error = $"Invalid clear mode : {clearMode}";
+ string error = $"Invalid clear mode : {options.ClearMode}";
var operation = new FSClearCacheFilesCompleteOperation(error);
return operation;
}