コード例 #1
0
 private void SetupDownloadOperation(AssetStoreDownloadOperation operation)
 {
     m_DownloadOperations[operation.packageUniqueId] = operation;
     operation.onOperationError     += (op, error) => onDownloadError?.Invoke(op, error);
     operation.onOperationFinalized += OnDownloadFinalized;
     operation.onOperationProgress  += (op) => onDownloadProgress?.Invoke(op);
     operation.onOperationPaused    += (op) => onDownloadPaused?.Invoke(op);
 }
コード例 #2
0
        public virtual void Download(IPackage package)
        {
            var packageId = package?.uniqueId;

            if (string.IsNullOrEmpty(packageId))
            {
                return;
            }

            var operation = GetDownloadOperation(packageId);

            if (operation?.isInProgress ?? false)
            {
                return;
            }

            var localInfo = m_AssetStoreCache.GetLocalInfo(packageId);

            operation = new AssetStoreDownloadOperation(m_AssetStoreUtils, m_AssetStoreRestAPI, m_AssetStoreCachePathProxy, packageId, localInfo?.packagePath);
            SetupDownloadOperation(operation);
            operation.Download(false);
        }