internal AssetReferenceTracker(string _key, AssetReferenceTrackerCallbackDelegate <TObject> _callback)
        {
            handle = Addressables.LoadAssetAsync <TObject>(_key);

            loadingTrackers.Add(handle, new Pair(this, _callback));
            handle.Completed += OnCompleted;
        }
        internal AssetReferenceTracker(AssetReferenceT <TObject> _reference, AssetReferenceTrackerCallbackDelegate <TObject> _callback)
        {
            handle = _reference.LoadAssetAsync();

            loadingTrackers.Add(handle, new Pair(this, _callback));
            handle.Completed += OnCompleted;
        }
 public Pair(AssetReferenceTracker <TObject> _tracker, AssetReferenceTrackerCallbackDelegate <TObject> _callback)
 {
     tracker  = _tracker;
     callback = _callback;
 }
 public static AssetReferenceTracker <TObject> LoadAssetAsyncAndTrack <TObject>(this string _key, AssetReferenceTrackerCallbackDelegate <TObject> _callback = null) where TObject : UnityEngine.Object
 {
     return(new AssetReferenceTracker <TObject>(_key, _callback));
 }