Exemple #1
0
    int SaveFileAsync(byte[] data, BundleGlobalItem item)
    {
        UnCompressTask task = new UnCompressTask();

        task.data = data;
        task.item = item;
        int taskCount = 0;

        lock (UnCompressLock)
        {
            lstTask.Add(task);
            taskCount = lstTask.Count;
        }
        return(taskCount);
    }
Exemple #2
0
 protected void UnCompressMain()
 {
     Debug.Log("BeginUnCompress");
     while (true)
     {
         UnCompressTask task = null;
         lock (UnCompressLock)
         {
             if (lstTask.Count > 0)
             {
                 //Debug.Log("Task Count "+lstTask.Count);
                 task = lstTask[0];
                 lstTask.RemoveAt(0);
             }
         }
         if (task != null)
         {
             SaveFile(task.data, task.item.itemInfo);
             //保存当前已经下载的文件
             strVersionFile += task.item.itemInfo.bundlePath + "," + task.item.itemInfo.version + ",\r\n";
             SaveVersion(strVersionFile);
         }
         else
         {
             if (ExitUnCompress)
             {
                 if (lstTask.Count == 0)
                 {
                     ExitUnCompress = false;
                     break;
                 }
             }
             else
             {
                 Thread.Sleep(100);
             }
         }
     }
     Debug.Log("EndUnCompress");
 }