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); }
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"); }