diff --git a/Assets/Scripts/Framework/ScriptableObject.cs b/Assets/Scripts/Framework/ScriptableObject.cs index ea03668..82248ca 100644 --- a/Assets/Scripts/Framework/ScriptableObject.cs +++ b/Assets/Scripts/Framework/ScriptableObject.cs @@ -318,8 +318,12 @@ namespace Demo return; } this.Parent = parent; - if (parent != null) + if (parent != null && parent.ScriptableObjectContents.IsCreated) { + if (ScriptableObjectContents.IsCreated == false) + { + ScriptableObjectContents = new(parent.ScriptableObjectContents.Count, AllocatorManager.Persistent); + } foreach (var item in parent.ScriptableObjectContents) { this.ScriptableObjectContents[item.Key] = item.Value; @@ -612,7 +616,8 @@ namespace Demo } // 释放资源 { - this.ScriptableObjectContents.Dispose(); + if (this.ScriptableObjectContents.IsCreated) + this.ScriptableObjectContents.Dispose(); } IsScriptApply = true; }