internal AssetReferenceGameObjectTracker(string _key, AssetReferenceGameObjectTrackerCallbackDelegate _callback, Transform _parent) { handle = Addressables.InstantiateAsync(_key, _parent); loadingTrackers.Add(handle, new Pair(this, _callback)); handle.Completed += OnCompleted; }
public Pair(AssetReferenceGameObjectTracker _tracker, AssetReferenceGameObjectTrackerCallbackDelegate _callback) { tracker = _tracker; callback = _callback; }
internal AssetReferenceGameObjectTracker(AssetReferenceGameObject _reference, AssetReferenceGameObjectTrackerCallbackDelegate _callback, Transform _parent) { handle = _reference.InstantiateAsync(_parent); loadingTrackers.Add(handle, new Pair(this, _callback)); handle.Completed += OnCompleted; }
/// <summary> /// 异步加载一个实例,并创建一个用于跟踪的Tracker。 /// 一旦通过这个方法创建了Tracker,则必须使用该Tracker进行Release。 /// </summary> /// <param name="_reference">GameObject Addressable资源引用</param> /// <param name="_callback">回调</param> /// <param name="_parent">父节点</param> /// <returns></returns> public static AssetReferenceGameObjectTracker InstantiateAsyncAndTrack(this string _reference, AssetReferenceGameObjectTrackerCallbackDelegate _callback = null, Transform _parent = null) { return(new AssetReferenceGameObjectTracker(_reference, _callback, _parent)); }