diff --git a/Assets/YooAsset/Runtime/YooAssets.cs b/Assets/YooAsset/Runtime/YooAssets.cs
index 5dc8a2a6..b6462666 100644
--- a/Assets/YooAsset/Runtime/YooAssets.cs
+++ b/Assets/YooAsset/Runtime/YooAssets.cs
@@ -63,6 +63,22 @@ namespace YooAsset
}
}
+ ///
+ /// 销毁资源系统
+ ///
+ public static void Destroy()
+ {
+ if (_isInitialize)
+ {
+ _isInitialize = false;
+
+ if (_driver != null)
+ GameObject.Destroy(_driver);
+
+ OnApplicationQuit(true);
+ }
+ }
+
///
/// 更新资源系统
///
@@ -77,7 +93,7 @@ namespace YooAsset
///
/// 应用程序退出处理
///
- internal static void OnApplicationQuit()
+ internal static void OnApplicationQuit(bool unloadAllAssetBundles)
{
// 说明:在编辑器下确保播放被停止时IO类操作被终止。
foreach (var package in _packages)
@@ -85,6 +101,15 @@ namespace YooAsset
OperationSystem.ClearPackageOperation(package.PackageName);
}
OperationSystem.DestroyAll();
+
+ // 清空资源包裹列表
+ _packages.Clear();
+
+ // 卸载所有AssetBundle
+ if (unloadAllAssetBundles)
+ {
+ AssetBundle.UnloadAllAssetBundles(true);
+ }
}
///
diff --git a/Assets/YooAsset/Runtime/YooAssetsDriver.cs b/Assets/YooAsset/Runtime/YooAssetsDriver.cs
index d576bfcb..a1ae075e 100644
--- a/Assets/YooAsset/Runtime/YooAssetsDriver.cs
+++ b/Assets/YooAsset/Runtime/YooAssetsDriver.cs
@@ -24,7 +24,7 @@ namespace YooAsset
#if UNITY_EDITOR
void OnApplicationQuit()
{
- YooAssets.OnApplicationQuit();
+ YooAssets.OnApplicationQuit(false);
}
#endif