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,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();