예제 #1
0
 public PackageDownLoadView(ResourcesDownLoad downLoadBase)
 {
     Updates.Add(this);
     GUIS.Add(this);
     this.downLoadBase      = downLoadBase;
     DownLoadStageResult    = UpdateStageResult.DownLoad;
     CompressionStageResult = UpdateStageResult.Compression;
     resourcesUpdate        = Managers.ResourcesUpdate;
 }
 private void processStageResult(UpdateStageResult result, string stageName, DirectoryInfo updateDirectory, bool canRunApp)
 {
     if (!result.Success)
     {
         MessageBox.Show(
             result.Error,
             "Во время " + stageName + " произошла ошибка.",
             MessageBoxButton.OK,
             MessageBoxImage.Error);
         updateDirectory.Delete(true);
         DialogResult = canRunApp;
     }
 }
예제 #3
0
    public static void DecompressTest()
    {
        string targetPath  = "E:/myProject/LonelyFramework/AssetBundleServer/FenBao/Win/version_1/";
        string zipFileName = "E:/myProject/LonelyFramework/AssetBundleServer/FenBao/Win/version_1/Package1_11111.zip";

        UpdateStageResult updateStageResult = new UpdateStageResult();

        DownLoadFileResultInfo info = new DownLoadFileResultInfo();

        List <AssetDataInfo> list = new List <AssetDataInfo>();

        ZipHelper.Decompress(
            zipFileName,
            targetPath);

        Debug.Log("解压成功!");
    }
예제 #4
0
    public virtual void TryRemove(AssetDownInfo info)
    {
        UpdateStageResult.RemoveDownLoadFileResultInfo(info);

        if (sourceData.ContainsKey(info.Version))
        {
            if (sourceData[info.Version].Contains(info))
            {
                sourceData[info.Version].Remove(info);
            }
        }

        if (currentQueue.Count > 0)
        {
            currentQueue.Remove(info);
            UpdateStageResult.DownLoad.CurrentCount++;
        }
    }
    public override List <AssetDownInfo> TryGetDownLoadData()
    {
        if (downloadQueue.Count <= 0)
        {
            return(null);
        }

        List <AssetDownInfo> datas = new List <AssetDownInfo>();

        for (int i = 0; i < downloadQueue.Count; i++)
        {
            int number = currentQueue.Count;
            while (downloadQueue[i].Count > 0)
            {
                if (number >= DownloaderConstant.MAX_DOWNLOAD_QUEUE_COUNT)
                {
                    break;
                }

                AssetDownInfo info = downloadQueue[i].Dequeue();

                datas.Add(info);
                currentQueue.Add(info);
                number++;
            }
        }

        if (datas.Count > 0)
        {
            for (int i = 0; i < datas.Count; i++)
            {
                UpdateStageResult.AddDownLoadFileResultInfo(datas[i]);
            }
        }

        return(datas);
    }
    public override List <AssetDownInfo> TryGetDownLoadData()
    {
        if (currentQueue.Count <= 0)
        {
            int index = 0;
            while (downloadQueue.Count > 0 &&
                   currentQueue.Count < DownloaderConstant.MAX_DOWNLOAD_QUEUE_COUNT)
            {
                Queue <AssetDownInfo> downloadInfos = downloadQueue[index];

                while (downloadInfos.Count > 0 &&
                       currentQueue.Count < DownloaderConstant.MAX_DOWNLOAD_QUEUE_COUNT)
                {
                    currentQueue.Add(downloadInfos.Dequeue());
                }

                if (downloadInfos.Count <= 0)
                {
                    downloadQueue.Remove(downloadQueue[index]);
                }
                else
                {
                    index++;
                }
            }

            for (int i = 0; i < currentQueue.Count; i++)
            {
                UpdateStageResult.AddDownLoadFileResultInfo(currentQueue[i]);
            }

            return(currentQueue);
        }

        return(null);
    }
예제 #7
0
 public void UpdateDownloadInfo(AssetDownInfo info, long increment)
 {
     UpdateStageResult.UpdateDownLoadFileResultInfo(info, increment);
 }