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);
        }
예제 #2
0
 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();
         }
     };
 }