internal PlayAssetBundleRequest RetrieveAssetBundleAsyncInternal(string assetBundleName) { if (_requestRepository.ContainsRequest(assetBundleName)) { throw new ArgumentException(string.Format("There is already an active request for AssetBundle: {0}", assetBundleName)); } var request = CreateAssetBundleRequest(assetBundleName); _requestRepository.AddRequest(request.PackRequest); request.Completed += req => _requestRepository.RemoveRequest(assetBundleName); InitiateRequest(request.PackRequest); return(request); }
private void DeferCancelPlayCore() { _onInitializedInPlayCore = () => { // Only cancel if a new request hasn't been started, to avoid cancelling the new request. if (_requestRepository.ContainsRequest(AssetPackName)) { Debug.LogFormat("Skip canceling {0}", AssetPackName); } else { CancelPlayCore(); } }; }