mirror of
https://github.com/tuyoogame/YooAsset.git
synced 2026-05-27 11:10:11 +00:00
Remove AutoReleaseGameObjectHandle param.
移除自动释放资源对象句柄的功能。
This commit is contained in:
@@ -133,57 +133,13 @@ namespace YooAsset
|
||||
else
|
||||
result = UnityEngine.Object.Instantiate(Provider.AssetObject as GameObject, parent);
|
||||
}
|
||||
|
||||
if (AssetSystem.AutoReleaseGameObjectHandle)
|
||||
{
|
||||
AddTrackGameObject(result);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
private InstantiateOperation InstantiateAsyncInternal(Vector3 position, Quaternion rotation, Transform parent, bool setPositionRotation)
|
||||
{
|
||||
InstantiateOperation operation = new InstantiateOperation(this, position, rotation, parent, setPositionRotation);
|
||||
OperationSystem.StartOperaiton(operation);
|
||||
|
||||
if (AssetSystem.AutoReleaseGameObjectHandle)
|
||||
{
|
||||
operation.Completed += InstantiateOperationCompleted;
|
||||
}
|
||||
return operation;
|
||||
}
|
||||
|
||||
#region 资源对象句柄相关
|
||||
private readonly HashSet<GameObject> _trackGameObjects = new HashSet<GameObject>();
|
||||
private void InstantiateOperationCompleted(AsyncOperationBase obj)
|
||||
{
|
||||
if (obj.Status == EOperationStatus.Succeed)
|
||||
{
|
||||
var op = obj as InstantiateOperation;
|
||||
AddTrackGameObject(op.Result);
|
||||
}
|
||||
}
|
||||
private void AddTrackGameObject(GameObject go)
|
||||
{
|
||||
if (go != null)
|
||||
{
|
||||
_trackGameObjects.Add(go);
|
||||
AssetSystem.AddAutoReleaseGameObjectHandle(this);
|
||||
}
|
||||
}
|
||||
internal void CheckAutoReleaseHandle()
|
||||
{
|
||||
if (IsValidNoWarning == false)
|
||||
return;
|
||||
if (_trackGameObjects.Count == 0)
|
||||
return;
|
||||
|
||||
foreach (var go in _trackGameObjects)
|
||||
{
|
||||
if (go != null)
|
||||
return;
|
||||
}
|
||||
ReleaseInternal();
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user