From 64e9734bbeb46c4a8b50cfcc20aa5cec9864213b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BD=95=E5=86=A0=E5=B3=B0?= Date: Sat, 22 Feb 2025 14:14:18 +0800 Subject: [PATCH] update sapce shooter --- .../GameScript/Runtime/GameLogic/SceneBattle.cs | 8 ++++++-- .../GameScript/Runtime/GameLogic/SceneHome.cs | 15 ++++++--------- 2 files changed, 12 insertions(+), 11 deletions(-) diff --git a/Assets/YooAsset/Samples~/Space Shooter/GameScript/Runtime/GameLogic/SceneBattle.cs b/Assets/YooAsset/Samples~/Space Shooter/GameScript/Runtime/GameLogic/SceneBattle.cs index 131a22b4..b2312de8 100644 --- a/Assets/YooAsset/Samples~/Space Shooter/GameScript/Runtime/GameLogic/SceneBattle.cs +++ b/Assets/YooAsset/Samples~/Space Shooter/GameScript/Runtime/GameLogic/SceneBattle.cs @@ -19,8 +19,7 @@ internal class SceneBattle : MonoBehaviour _windowHandle.InstantiateSync(CanvasDesktop.transform); // 加载背景音乐 - var package = YooAssets.GetPackage("DefaultPackage"); - _musicHandle = package.LoadAssetAsync("music_background"); + _musicHandle = YooAssets.LoadAssetAsync("music_background"); yield return _musicHandle; // 播放背景音乐 @@ -29,6 +28,11 @@ internal class SceneBattle : MonoBehaviour audioSource.clip = _musicHandle.AssetObject as AudioClip; audioSource.Play(); + // 切换场景的时候释放资源 + var package = YooAssets.GetPackage("DefaultPackage"); + var operation = package.UnloadUnusedAssetsAsync(); + yield return operation; + _battleRoom = new BattleRoom(); _battleRoom.IntRoom(); } diff --git a/Assets/YooAsset/Samples~/Space Shooter/GameScript/Runtime/GameLogic/SceneHome.cs b/Assets/YooAsset/Samples~/Space Shooter/GameScript/Runtime/GameLogic/SceneHome.cs index 277b8cc9..c6756e86 100644 --- a/Assets/YooAsset/Samples~/Space Shooter/GameScript/Runtime/GameLogic/SceneHome.cs +++ b/Assets/YooAsset/Samples~/Space Shooter/GameScript/Runtime/GameLogic/SceneHome.cs @@ -9,11 +9,16 @@ public class SceneHome : MonoBehaviour private AssetHandle _windowHandle; private IEnumerator Start() - { + { // 加载主页面 _windowHandle = YooAssets.LoadAssetAsync("UIHome"); yield return _windowHandle; _windowHandle.InstantiateSync(CanvasDesktop.transform); + + // 切换场景的时候释放资源 + var package = YooAssets.GetPackage("DefaultPackage"); + var operation = package.UnloadUnusedAssetsAsync(); + yield return operation; } private void OnDestroy() @@ -24,13 +29,5 @@ public class SceneHome : MonoBehaviour _windowHandle.Release(); _windowHandle = null; } - - // 切换场景的时候释放资源 - if (YooAssets.Initialized) - { - var package = YooAssets.GetPackage("DefaultPackage"); - var operation = package.UnloadUnusedAssetsAsync(); - operation.WaitForAsyncComplete(); - } } } \ No newline at end of file