Update AssetsReference.cs

This commit is contained in:
Alex-Rachel
2025-06-05 16:07:38 +08:00
parent 9e0e762a39
commit 7d1de6e9a3

View File

@@ -66,12 +66,23 @@ namespace TEngine
private void Awake() private void Awake()
{ {
// If it is a clone, clear the reference records before cloning // If it is a clone, clear the reference records before cloning
if (!_originalRefs.ContainsKey(gameObject) || _originalRefs[gameObject] != this) if (!IsOriginalInstance())
{
ClearCloneReferences();
}
}
private bool IsOriginalInstance()
{
return _originalRefs.TryGetValue(gameObject, out var originalComponent) &&
originalComponent == this;
}
private void ClearCloneReferences()
{ {
sourceGameObject = null; sourceGameObject = null;
refAssetInfoList?.Clear(); refAssetInfoList?.Clear();
} }
}
private void OnDestroy() private void OnDestroy()
{ {