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