From b839afa76aab92ad7406b0febc97891932993b90 Mon Sep 17 00:00:00 2001 From: ALEXTANG <574809918@qq.com> Date: Thu, 26 Oct 2023 00:22:02 +0800 Subject: [PATCH] =?UTF-8?q?=E9=87=8A=E6=94=BE=E8=B5=84=E6=BA=90=E5=88=A4?= =?UTF-8?q?=E6=96=AD=E8=B5=84=E6=BA=90=E6=98=AF=E5=90=A6=E6=9C=89=E6=95=88?= =?UTF-8?q?=E3=80=81=E6=94=AF=E6=8C=81YooAssets=E6=97=A5=E5=BF=97=E9=87=8D?= =?UTF-8?q?=E5=AE=9A=E5=90=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 释放资源判断资源是否有效、支持YooAssets日志重定向 --- .../Modules/ResourceModule/AssetReference.cs | 2 +- .../Modules/ResourceModule/AssetsLogger.cs | 28 ++++++++++++++++++ .../ResourceModule/AssetsLogger.cs.meta | 3 ++ .../Modules/ResourceModule/ResourceManager.cs | 29 +------------------ 4 files changed, 33 insertions(+), 29 deletions(-) create mode 100644 UnityProject/Assets/TEngine/Runtime/Modules/ResourceModule/AssetsLogger.cs create mode 100644 UnityProject/Assets/TEngine/Runtime/Modules/ResourceModule/AssetsLogger.cs.meta diff --git a/UnityProject/Assets/TEngine/Runtime/Modules/ResourceModule/AssetReference.cs b/UnityProject/Assets/TEngine/Runtime/Modules/ResourceModule/AssetReference.cs index f29b0712..44a749d2 100644 --- a/UnityProject/Assets/TEngine/Runtime/Modules/ResourceModule/AssetReference.cs +++ b/UnityProject/Assets/TEngine/Runtime/Modules/ResourceModule/AssetReference.cs @@ -62,7 +62,7 @@ namespace TEngine private void OnDestroy() { - if (_operationHandle != null) + if (_operationHandle is { IsValid: true }) { _operationHandle.Release(); _operationHandle = null; diff --git a/UnityProject/Assets/TEngine/Runtime/Modules/ResourceModule/AssetsLogger.cs b/UnityProject/Assets/TEngine/Runtime/Modules/ResourceModule/AssetsLogger.cs new file mode 100644 index 00000000..799b8624 --- /dev/null +++ b/UnityProject/Assets/TEngine/Runtime/Modules/ResourceModule/AssetsLogger.cs @@ -0,0 +1,28 @@ +namespace TEngine +{ + /// + /// 资源管理日志实现器。 + /// + internal class AssetsLogger : YooAsset.ILogger + { + public void Log(string message) + { + TEngine.Log.Info(message); + } + + public void Warning(string message) + { + TEngine.Log.Warning(message); + } + + public void Error(string message) + { + TEngine.Log.Error(message); + } + + public void Exception(System.Exception exception) + { + TEngine.Log.Fatal(exception.Message); + } + } +} \ No newline at end of file diff --git a/UnityProject/Assets/TEngine/Runtime/Modules/ResourceModule/AssetsLogger.cs.meta b/UnityProject/Assets/TEngine/Runtime/Modules/ResourceModule/AssetsLogger.cs.meta new file mode 100644 index 00000000..9126c7ff --- /dev/null +++ b/UnityProject/Assets/TEngine/Runtime/Modules/ResourceModule/AssetsLogger.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: fb010b07ce0e492dae9f04e18a1af2e2 +timeCreated: 1698250627 \ No newline at end of file diff --git a/UnityProject/Assets/TEngine/Runtime/Modules/ResourceModule/ResourceManager.cs b/UnityProject/Assets/TEngine/Runtime/Modules/ResourceModule/ResourceManager.cs index 548a4dc3..f768c5d3 100644 --- a/UnityProject/Assets/TEngine/Runtime/Modules/ResourceModule/ResourceManager.cs +++ b/UnityProject/Assets/TEngine/Runtime/Modules/ResourceModule/ResourceManager.cs @@ -2,7 +2,6 @@ using System.Threading; using Cysharp.Threading.Tasks; using UnityEngine; -using UnityEngine.SceneManagement; using YooAsset; namespace TEngine @@ -369,7 +368,7 @@ namespace TEngine while (iter.MoveNext()) { AssetOperationHandle handle = iter.Current; - if (handle != null) + if (handle is { IsValid: true }) { handle.Dispose(); handle = null; @@ -882,30 +881,4 @@ namespace TEngine return cancelOrFailed ? null : handle.GetSubAssetObjects(); } } - - /// - /// 资源管理日志实现器。 - /// - internal class AssetsLogger : YooAsset.ILogger - { - public void Log(string message) - { - TEngine.Log.Info(message); - } - - public void Warning(string message) - { - TEngine.Log.Warning(message); - } - - public void Error(string message) - { - TEngine.Log.Error(message); - } - - public void Exception(System.Exception exception) - { - TEngine.Log.Fatal(exception.Message); - } - } } \ No newline at end of file