何冠峰 2025-05-13 10:11:06 +08:00
parent 32841d4773
commit c40a796170
2 changed files with 27 additions and 2 deletions

View File

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

View File

@ -24,7 +24,7 @@ namespace YooAsset
#if UNITY_EDITOR #if UNITY_EDITOR
void OnApplicationQuit() void OnApplicationQuit()
{ {
YooAssets.OnApplicationQuit(); YooAssets.OnApplicationQuit(false);
} }
#endif #endif