From 7d1de6e9a3cf2dce74d6ddcf82f7eea5f54214fc Mon Sep 17 00:00:00 2001 From: Alex-Rachel <574809918@qq.com> Date: Thu, 5 Jun 2025 16:07:38 +0800 Subject: [PATCH] Update AssetsReference.cs --- .../ResourceModule/Reference/AssetsReference.cs | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/UnityProject/Assets/TEngine/Runtime/Module/ResourceModule/Reference/AssetsReference.cs b/UnityProject/Assets/TEngine/Runtime/Module/ResourceModule/Reference/AssetsReference.cs index 4563a267..68655d6c 100644 --- a/UnityProject/Assets/TEngine/Runtime/Module/ResourceModule/Reference/AssetsReference.cs +++ b/UnityProject/Assets/TEngine/Runtime/Module/ResourceModule/Reference/AssetsReference.cs @@ -66,13 +66,24 @@ namespace TEngine private void Awake() { // If it is a clone, clear the reference records before cloning - if (!_originalRefs.ContainsKey(gameObject) || _originalRefs[gameObject] != this) + if (!IsOriginalInstance()) { - sourceGameObject = null; - refAssetInfoList?.Clear(); + ClearCloneReferences(); } } + private bool IsOriginalInstance() + { + return _originalRefs.TryGetValue(gameObject, out var originalComponent) && + originalComponent == this; + } + + private void ClearCloneReferences() + { + sourceGameObject = null; + refAssetInfoList?.Clear(); + } + private void OnDestroy() { CheckInit();