| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104 | 
							- using System.Collections;
 
- using System.Collections.Generic;
 
- using System.IO;
 
- using ThirdParty.DownloadSystem;
 
- using UnityEngine;
 
- public class GameZip
 
- {
 
-     private UnZipThreadPool _unZipThreadPool;
 
-     private string md5Value;
 
-     public GameStart GameStart;
 
-     private System.Action callBack;
 
-     private string streamingPath;
 
-     private GameStartUIPanel _gameStartUIPanel;
 
-     public void Start(GameStartUIPanel gameStartUIPanel,GameStart gameStart, System.Action callBack)
 
-     {
 
-         this.GameStart = gameStart;
 
-         this.callBack = callBack;
 
-         _gameStartUIPanel = gameStartUIPanel;
 
-         streamingPath = Application.streamingAssetsPath;
 
- #if UNITY_IPHONE
 
-            streamingPath = "file://"+streamingPath;
 
- #endif
 
-         LoadMd5();
 
-     }
 
-     private void LoadMd5()
 
-     {
 
-         string md5 = UnityEngine.PlayerPrefs.GetString("assetMD5", "");
 
-         Debug.Log(" Application.version" + Application.version);
 
-         if (!md5.Equals(Application.version)) //需要解压文件
 
-         {
 
-             Debug.Log(Application.persistentDataPath);
 
-             GameStart.StartCoroutine(DowFile());
 
-         }
 
-         else
 
-         {
 
-             Finish();
 
-         }
 
-     }
 
-     private IEnumerator DowFile()
 
-     {
 
-         _gameStartUIPanel.SetMassge("转移文件");
 
-         string url = streamingPath + "/assetBundle.zip";
 
-         string dowFinle = Application.persistentDataPath + "/assetBundle.zip";
 
-         AddLoad("转移解压文件");
 
-         DownloadFileData downloadFileData = new DownloadFileData();
 
-         downloadFileData.remoteUrl = url;
 
-         downloadFileData.localPath = dowFinle;
 
-         DownloadHander downloadHander = FileDownloadSystem.Instance.DownloadFile(downloadFileData);
 
-         while (!downloadHander.isFinish)
 
-         {
 
-             yield return new WaitForSeconds(1);
 
-         }
 
-         if (!File.Exists(dowFinle))
 
-         {
 
-             Finish();
 
-             yield break;
 
-         }
 
-         string unzipPath = Application.persistentDataPath + "/Bundle";
 
-         _unZipThreadPool = new UnZipThreadPool();
 
-         AddLoad("开始解压" + unzipPath);
 
-         _gameStartUIPanel.SetMassge("开始解压,解压过程中不消耗流量");
 
-         _unZipThreadPool.InitUnZip(dowFinle, unzipPath);
 
-         SliderData sliderData = new SliderData();
 
-         sliderData.maxValue = _unZipThreadPool.maxSize;
 
-         sliderData.CcurrValue = delegate { return sliderData.maxValue - _unZipThreadPool.CurrCount(); };
 
-         _gameStartUIPanel.SetSlider(sliderData);
 
-         while (!_unZipThreadPool.isEnd)
 
-         {
 
-             yield return new WaitForSeconds(1);
 
-         }
 
-         _gameStartUIPanel.ClearSlider();
 
-         _gameStartUIPanel.SetMassge("解压完成");
 
-         AddLoad("解压完成");
 
-         _unZipThreadPool.Cloas();
 
-         UnityEngine.PlayerPrefs.SetString("assetMD5", Application.version);
 
-         Finish();
 
-     }
 
-     private void Finish()
 
-     {
 
-         // LoadDll.StartDllLoad();
 
-         callBack?.Invoke();
 
-     }
 
-     private void Update()
 
-     {
 
-         FileDownloadSystem.Instance.Update();
 
-     }
 
-     public void AddLoad(string message)
 
-     {
 
-     }
 
- }
 
 
  |