diff --git a/Assets/TEngine/Runtime/GameFramework/Resource/ResourceManager.cs b/Assets/TEngine/Runtime/GameFramework/Resource/ResourceManager.cs index 1af2fa84..e87d0d70 100644 --- a/Assets/TEngine/Runtime/GameFramework/Resource/ResourceManager.cs +++ b/Assets/TEngine/Runtime/GameFramework/Resource/ResourceManager.cs @@ -297,6 +297,7 @@ namespace TEngine /// /// 要加载资源的名称。 /// 要加载资源的类型。 + /// 不计入引用计数,直接释放! /// 资源实例。 public T LoadAsset(string assetName) where T : Object { @@ -310,11 +311,14 @@ namespace TEngine if (typeof(T) == typeof(GameObject)) { GameObject ret = handle.InstantiateSync(); + handle.Dispose(); return ret as T; } else { - return handle.AssetObject as T; + T ret = handle.AssetObject as T; + handle.Dispose(); + return ret; } } @@ -324,6 +328,7 @@ namespace TEngine /// 要加载资源的名称。 /// 父节点位置。 /// 要加载资源的类型。 + /// 不计入引用计数,直接释放! /// 资源实例。 public T LoadAsset(string assetName, Transform parent) where T : Object { @@ -336,12 +341,15 @@ namespace TEngine if (typeof(T) == typeof(GameObject)) { - GameObject ret = handle.InstantiateSync(parent); + GameObject ret = handle.InstantiateSync(); + handle.Dispose(); return ret as T; } else { - return handle.AssetObject as T; + T ret = handle.AssetObject as T; + handle.Dispose(); + return ret; } }