diff --git a/Assets/YooAsset/Runtime/PatchSystem/Operations/UpdatePackageManifestOperation.cs b/Assets/YooAsset/Runtime/PatchSystem/Operations/UpdatePackageManifestOperation.cs
index 8e6d061..ac79014 100644
--- a/Assets/YooAsset/Runtime/PatchSystem/Operations/UpdatePackageManifestOperation.cs
+++ b/Assets/YooAsset/Runtime/PatchSystem/Operations/UpdatePackageManifestOperation.cs
@@ -9,6 +9,10 @@ namespace YooAsset
///
public abstract class UpdatePackageManifestOperation : AsyncOperationBase
{
+ ///
+ /// 保存清单版本文件到沙盒
+ ///
+ public virtual void FlushManifestVersionFile() { }
}
///
@@ -173,5 +177,10 @@ namespace YooAsset
}
}
}
+
+ public override void FlushManifestVersionFile()
+ {
+ _impl.FlushManifestVersionFile();
+ }
}
}
\ No newline at end of file
diff --git a/Assets/YooAsset/Runtime/PatchSystem/PlayMode/EditorSimulateModeImpl.cs b/Assets/YooAsset/Runtime/PatchSystem/PlayMode/EditorSimulateModeImpl.cs
index 7ad2489..e2f52f5 100644
--- a/Assets/YooAsset/Runtime/PatchSystem/PlayMode/EditorSimulateModeImpl.cs
+++ b/Assets/YooAsset/Runtime/PatchSystem/PlayMode/EditorSimulateModeImpl.cs
@@ -33,9 +33,8 @@ namespace YooAsset
return _activeManifest;
}
}
- public bool IsBuildinPackageBundle(PackageBundle packageBundle)
+ public void FlushManifestVersionFile()
{
- return true;
}
UpdatePackageVersionOperation IPlayModeServices.UpdatePackageVersionAsync(bool appendTimeTicks, int timeout)
diff --git a/Assets/YooAsset/Runtime/PatchSystem/PlayMode/HostPlayModeImpl.cs b/Assets/YooAsset/Runtime/PatchSystem/PlayMode/HostPlayModeImpl.cs
index 025edf1..290c10f 100644
--- a/Assets/YooAsset/Runtime/PatchSystem/PlayMode/HostPlayModeImpl.cs
+++ b/Assets/YooAsset/Runtime/PatchSystem/PlayMode/HostPlayModeImpl.cs
@@ -84,22 +84,27 @@ namespace YooAsset
{
_activeManifest = value;
_activeManifest.InitAssetPathMapping(_locationToLower);
- PersistentHelper.SaveCachePackageVersionFile(_packageName, _activeManifest.PackageVersion);
}
get
{
return _activeManifest;
}
}
- public bool IsBuildinPackageBundle(PackageBundle packageBundle)
+ public void FlushManifestVersionFile()
+ {
+ if (_activeManifest != null)
+ PersistentHelper.SaveCachePackageVersionFile(_packageName, _activeManifest.PackageVersion);
+ }
+
+ private bool IsBuildinPackageBundle(PackageBundle packageBundle)
{
return _queryServices.QueryStreamingAssets(packageBundle.FileName);
}
- public bool IsCachedPackageBundle(PackageBundle packageBundle)
+ private bool IsCachedPackageBundle(PackageBundle packageBundle)
{
return CacheSystem.IsCached(packageBundle.PackageName, packageBundle.CacheGUID);
}
-
+
UpdatePackageVersionOperation IPlayModeServices.UpdatePackageVersionAsync(bool appendTimeTicks, int timeout)
{
var operation = new HostPlayModeUpdatePackageVersionOperation(this, _packageName, appendTimeTicks, timeout);
diff --git a/Assets/YooAsset/Runtime/PatchSystem/PlayMode/OfflinePlayModeImpl.cs b/Assets/YooAsset/Runtime/PatchSystem/PlayMode/OfflinePlayModeImpl.cs
index 37617aa..a99439d 100644
--- a/Assets/YooAsset/Runtime/PatchSystem/PlayMode/OfflinePlayModeImpl.cs
+++ b/Assets/YooAsset/Runtime/PatchSystem/PlayMode/OfflinePlayModeImpl.cs
@@ -33,9 +33,8 @@ namespace YooAsset
return _activeManifest;
}
}
- public bool IsBuildinPackageBundle(PackageBundle packageBundle)
+ public void FlushManifestVersionFile()
{
- return true;
}
UpdatePackageVersionOperation IPlayModeServices.UpdatePackageVersionAsync(bool appendTimeTicks, int timeout)
diff --git a/Assets/YooAsset/Runtime/Services/Internal/IPlayModeServices.cs b/Assets/YooAsset/Runtime/Services/Internal/IPlayModeServices.cs
index 0c8a5fb..834e0bc 100644
--- a/Assets/YooAsset/Runtime/Services/Internal/IPlayModeServices.cs
+++ b/Assets/YooAsset/Runtime/Services/Internal/IPlayModeServices.cs
@@ -7,11 +7,11 @@ namespace YooAsset
/// 激活的清单
///
PackageManifest ActiveManifest { set; get; }
-
+
///
- /// 是否为内置资源文件
+ /// 保存清单版本文件到沙盒
///
- bool IsBuildinPackageBundle(PackageBundle packageBundle);
+ void FlushManifestVersionFile();
///
/// 向网络端请求最新的资源版本