Browse Source

替换原下载逻辑

DGJ 1 year ago
parent
commit
769a6e16ce

+ 1 - 1
Assets/2.0/Tools/DownLoadItem.cs

@@ -240,7 +240,7 @@ public class DownLoadItem : MonoBehaviour
 
     public void DownloadFileMsg()
     {
-        MsgHandler.AddListener(Application.persistentDataPath + "" + downLoadPath, HandleMsg);
+        MsgHandler.AddListener(downLoadPath, HandleMsg);
         DownLoadMaterial data = new DownLoadMaterial();
         data.downLoadPath = downLoadPath;
         data.localLoadPath = Application.persistentDataPath + "/Material/" + Path.GetFileName(downLoadPath);

+ 2 - 1
Assets/2.0/User/Model/ModelItem.cs

@@ -159,11 +159,12 @@ public class ModelItem
                 break;
         }
         url = DownloadPath;
+        Debug.Log(url);
         this.modelList = modelList;
        
         if (Version == null)
             Version = Application.version.ToString();
-
+        init();
        // if (Model != null)
       //      Debug.Log(" 添加模型 " + name);
     }

+ 1 - 0
Assets/2.0/User/Model/ModelManager.cs

@@ -39,6 +39,7 @@ public class ModelManager : Singleton<ModelManager>
 
     private void AddDicModelList(string message)
     {
+       // Debug.Log(message);
      if (!string.IsNullOrWhiteSpace(message))
         {
             Models = JsonConvert.DeserializeObject<List<ModelList>>(message);

+ 29 - 25
Assets/COSScripts/COSDownLoad.cs

@@ -192,13 +192,16 @@ public class COSDownLoad:MonoSingleton<COSDownLoad>
 
         // 手动设置高级下载接口的并发数 (默认为5), 从5.4.26版本开始支持!
         //downloadTask.SetMaxTasks(10);
-        downloadTask.progressCallback = delegate (long completed, long total)
-        {
-            Debug.Log(String.Format("Hjj    download"+downloadMaterial.downLoadPath+"progress = {0:##.##}%", completed * 100.0 / total));
-        };
-        Debug.Log(downloadMaterial.downLoadPath);
+        //downloadTask.progressCallback = delegate (long completed, long total)
+        //{
+        //    Debug.Log(String.Format("Hjj    download"+downloadMaterial.downLoadPath+"progress = {0:##.##}%", completed * 100.0 / total));
+        //};
+        Debug.Log("DGJ   DownLoad   "+downloadMaterial.downLoadPath);
+        Debug.Log("DGJ   LocalLoad   " + downloadMaterial.localLoadPath);
         downloadTask.onState += OnState;
         listDownLoadTask.Add(downloadTask);
+
+        Debug.Log("DGJ  TYPE   " + downloadMaterial.type + "  "+ localFileName);
         try
         {
             COSXML.Transfer.COSXMLDownloadTask.DownloadTaskResult result = await
@@ -211,14 +214,15 @@ public class COSDownLoad:MonoSingleton<COSDownLoad>
             //请求失败
             Debug.LogError(downloadMaterial.downLoadPath + "   CosClientException: " + clientEx);
             DownloadResManager.Instance.DownLoadFaild(downloadTask.localFileName);
-            listDownLoadTask.RemoveAt(0);
+            listDownLoadTask.Remove(downloadTask);
         }
         catch (COSXML.CosException.CosServerException serverEx)
         {
+           
             //请求失败
             Debug.LogError(downloadMaterial.downLoadPath+ "    CosServerException: " + serverEx.GetInfo());
             DownloadResManager.Instance.DownLoadFaild(downloadTask.localFileName);
-            listDownLoadTask.RemoveAt(0);
+            listDownLoadTask.Remove(downloadTask);
         }
        
     }
@@ -289,28 +293,28 @@ public class COSDownLoad:MonoSingleton<COSDownLoad>
         }
     }
 
-    public  string GetVideoUrl(DownloadManager downloadMaterial)
-    {
+    //public  string GetVideoUrl(DownloadManager downloadMaterial)
+    //{
 
-        try
-        {
-            string requestURL =  materialCosXml.GetObjectUrl(materialSuccessCos.bucket, downloadMaterial.LocaDataPath);
-            return requestURL;
-        }
-        catch (COSXML.CosException.CosClientException clientEx)
-        {
-            //请求失败
+    //    try
+    //    {
+    //        string requestURL =  materialCosXml.GetObjectUrl(materialSuccessCos.bucket, downloadMaterial.LocaDataPath);
+    //        return requestURL;
+    //    }
+    //    catch (COSXML.CosException.CosClientException clientEx)
+    //    {
+    //        //请求失败
 
-            return null;
-        }
-        catch (COSXML.CosException.CosServerException serverEx)
-        {
-            //请求失败
-            return null;
-        }
+    //        return null;
+    //    }
+    //    catch (COSXML.CosException.CosServerException serverEx)
+    //    {
+    //        //请求失败
+    //        return null;
+    //    }
 
 
-    }
+    //}
     public Queue<TaskState> taskQueue = new Queue<TaskState>();
     private void OnState(TaskState state)
     {

+ 17 - 3
Assets/COSScripts/DownloadResManager.cs

@@ -96,6 +96,11 @@ public class DownloadResManager : MonoSingleton<DownloadResManager>
         }
     }
 
+    public void StartDownLoad()
+    {
+       // StartCoroutine(DownLoad());
+    }
+
     private IEnumerator DownLoad()
     {
       
@@ -178,7 +183,7 @@ public class DownloadResManager : MonoSingleton<DownloadResManager>
             if (Path.GetFileName(listNotMaterial[i].downLoadPath) == localFilePath)
             {
                 listFaildMaterial.Add(listNotMaterial[i]);
-                MsgHandler.SendMsg(listNotMaterial[i].localLoadPath, null);
+                MsgHandler.SendMsg(listNotMaterial[i].downLoadPath, null);
                 listNotMaterial.RemoveAt(i);
                 break;
             }
@@ -192,7 +197,7 @@ public class DownloadResManager : MonoSingleton<DownloadResManager>
         System.IO.Directory.CreateDirectory(path);
        // string NowTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss").Replace(" ", "_").Replace("/", "_").Replace(":", "_");
         Debug.Log(path);
-        using (System.IO.StreamWriter writer = System.IO.File.CreateText(path + "/CompletedMaterial.txt"))
+        using (System.IO.StreamWriter writer = System.IO.File.CreateText(path + "CompletedMaterial.txt"))
         {
             writer.Write(msg);
             //writer.
@@ -213,5 +218,14 @@ public class DownLoadMaterial
 
     public string type { get; set; }
 
-    
+    public DownLoadMaterial()
+    {
+
+    }
+    public DownLoadMaterial(MaterialObjValue value)
+    {
+        this.downLoadPath = value.DownloadPath;
+        this.type = value.type;
+        this.localLoadPath = Application.persistentDataPath + "/Material/" + Path.GetFileName(value.DownloadPath);
+    }
 }

+ 1 - 1
Assets/COSScripts/LocalLoadManager.cs

@@ -58,7 +58,7 @@ public class LocalLoadManager : MonoSingleton<LocalLoadManager>
 
             if (webRequest.isHttpError || webRequest.isNetworkError)
             {
-                Debug.LogError("Download Failed: " + webRequest.error);
+                Debug.LogError("Hjj   DownloadFile end:" + downloadMaterial.localLoadPath + "Download Failed: " + webRequest.error);
                 // 下载失败 
                 //downLoadState = webRequest.error;
                 isDownLoad = false;

+ 6 - 5
Assets/Scripts/Blue/Command/PointFileGetUrlCommand.cs

@@ -55,13 +55,11 @@ public class PointFileGetUrlCommand : ICommand
                     DownLoadMaterial data = new DownLoadMaterial();
                     data.downLoadPath = downLoadPath;
                     data.localLoadPath = Application.persistentDataPath + "/Map Data/" + dataJ["data"]["bytesFile"]["name"].ToString()+"." + dataJ["data"]["bytesFile"]["ext"].ToString(); //Application.persistentDataPath + "/Material/" + Path.GetFileName(value.DownloadPath);
-                data.updataTime = 0;// GameManager.Instance.m_SceneValue.updateTime;
-                    data.type = "3";
+                Debug.Log("DGJ    byte   "+data.localLoadPath);
+                    data.updataTime = 0;// GameManager.Instance.m_SceneValue.updateTime;
+                    data.type = "-1";
                     MsgHandler.AddListener(downLoadPath, HandleMsg);
 
-
-
-
                     DownloadResManager.Instance.DownLoad(data);
                   //  Debug.Log(" SetData " + updateTime);
 
@@ -73,6 +71,9 @@ public class PointFileGetUrlCommand : ICommand
     }
     private void HandleMsg(Msg msg)
     {
+        Debug.Log("DGJ  GetPointFileUrlSuccess  HandleMsg");
+
+      if(msg.Value!=null)
         if (fileType == PointFileType.bytes)
             this.SendEvent(new LoadMapFileEvent() { fileName = PointName });
     }

+ 0 - 8
Assets/Scripts/Download.meta

@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: 535dd763961c77b4b971afbedfcea192
-folderAsset: yes
-DefaultImporter:
-  externalObjects: {}
-  userData: 
-  assetBundleName: 
-  assetBundleVariant: 

+ 0 - 97
Assets/Scripts/Download/DownloadData.cs

@@ -1,97 +0,0 @@
-using LitJson;
-using System.Collections;
-using System.Collections.Generic;
-using System.IO;
-using UnityEngine;
-
-public class DownloadData
-{
-    /// <summary>
-    /// 素材名称
-    /// </summary>
-    public string name;
-    /// <summary>
-    /// 素材类型
-    /// </summary>
-    public int type;
-    /// <summary>
-    /// 素材下载地址
-    /// </summary>
-    public string downloadPath;
-    /// <summary>
-    /// 本地保存地址
-    /// </summary>
-    public string localSavePath;
-    /// <summary>
-    /// 更新时间
-    /// </summary>
-    public int updateTime;
-
-
-
-    public DownloadData()
-    {
-        name = "";
-        type = 0;
-        downloadPath = "";
-        localSavePath = "";
-        updateTime = 0;
-    }
-
-    public DownloadData(MaterialObjValue mat)
-    {
-        type = int.Parse(mat.type);
-
-        downloadPath = string.IsNullOrWhiteSpace(mat.DownloadPath) ? "" : mat.DownloadPath;
-        string filename = Path.GetFileName(downloadPath);
-        name = string.IsNullOrWhiteSpace(mat.name) ? filename : mat.name;
-        if (string.IsNullOrWhiteSpace(mat.localSavePath))
-        {
-
-            //localSavePath = FileManager.CalFilePath(Path.Combine(DownloadManager.Instance.LocaDataPath, filename));
-            switch (type)
-            {
-                case 1:    //image
-                    localSavePath = DownloadManager.Instance.LocaDataPath + "/Image/" + filename;
-                    break;
-                case 2:    //video    
-                    localSavePath = DownloadManager.Instance.LocaDataPath + "/video/" + filename;
-                    break;
-                case 3:    //model
-                    localSavePath = DownloadManager.Instance.LocaDataPath + "/Model/" + filename;
-                    name = filename;
-                    break;
-                default:
-                    break;
-            }
-
-            //Debug.Log(localSavePath);
-        }
-        else
-        {
-            localSavePath = mat.localSavePath;
-        }
-    }
-
-    public DownloadData(JsonData json)
-    {
-        name = (string)json["name"];
-        type = (int)json["type"];
-        downloadPath = (string)json["downloadPath"];
-        localSavePath = (string)json["localSavePath"];
-        updateTime = (int)json["updateTime"];
-    }
-
-    public JsonData ToJsonData()
-    {
-        JsonData data = new JsonData();
-        data["name"] = name;
-        data["type"] = type;
-        data["downloadPath"] = downloadPath;
-        data["localSavePath"] = localSavePath;
-        data["updateTime"] = updateTime;
-
-        return data;
-    }
-
-}

+ 0 - 11
Assets/Scripts/Download/DownloadData.cs.meta

@@ -1,11 +0,0 @@
-fileFormatVersion: 2
-guid: bc8faa84aec45824a835d2e92e2ee127
-MonoImporter:
-  externalObjects: {}
-  serializedVersion: 2
-  defaultReferences: []
-  executionOrder: 0
-  icon: {instanceID: 0}
-  userData: 
-  assetBundleName: 
-  assetBundleVariant: 

+ 0 - 907
Assets/Scripts/Download/DownloadManager.cs

@@ -1,907 +0,0 @@
-using LitJson;
-using Newtonsoft.Json;
-using SC.XR.Unity;
-using System;
-using System.Collections;
-using System.Collections.Generic;
-using System.IO;
-using System.Text;
-using UnityEngine;
-using UnityEngine.Networking;
-using UnityEngine.UI;
-
-public class DownloadManager : SingletonMono<DownloadManager>
-{
-    /// <summary>
-    /// 图片集合
-    /// </summary>
-    private Dictionary<string, Texture2D> m_ImageDic;
-    /// <summary>
-    /// 等待下载
-    /// </summary>
-    private List<DownloadData> m_WaitDownload;
-    private Dictionary<string, List<DownloadData>> m_WaitDownloadData;
-    /// <summary>
-    /// 正在下载中的数据
-    /// </summary>
-    private List<DownloadData> m_Downloading;
-    /// <summary>
-    /// 已下载完成的数据
-    /// </summary>
-    private List<DownloadData> m_Downloaded;
-    /// <summary>
-    /// 下载失败
-    /// </summary>
-    private List<DownloadData> m_FiledDownload;
-    /// <summary>
-    /// 本地已下载数据
-    /// </summary>
-    //private List<DownloadData> m_LocaData;
-    private Dictionary<string, List<DownloadData>> m_LocaData;
-    /// <summary>
-    /// 本地数据记录表存储路径
-    /// </summary>
-    private string m_LocaConfigPath;
-    /// <summary>
-    /// 本地数据存储路径
-    /// </summary>
-    private string m_LocaDataPath;
-    public string LocaDataPath
-    {
-        get { return m_LocaDataPath; }
-        private set { m_LocaDataPath = value; }
-    }
-
-
-    private Dictionary<string, GameObject> m_AbObjs;
-
-    public List<DownloadData> GetDownloaded()
-    {
-        return m_Downloaded;
-    }
-
-    private void Awake()
-    {
-        m_ImageDic = new Dictionary<string, Texture2D>();
-        m_WaitDownload = new List<DownloadData>();
-        m_WaitDownloadData = new Dictionary<string, List<DownloadData>>();
-        m_Downloading = new List<DownloadData>();
-        m_Downloaded = new List<DownloadData>();
-        m_FiledDownload = new List<DownloadData>();
-        m_LocaData = new Dictionary<string, List<DownloadData>>();
-        m_AbObjs = new Dictionary<string, GameObject>();
-
-        m_LocaConfigPath = FileManager.CalFilePath(Path.Combine(Application.persistentDataPath, "DataConfig.Json"));
-        LocaDataPath = FileManager.CalFilePath(Application.persistentDataPath + "/MaterialData");
-        if (!Directory.Exists(LocaDataPath))
-        {
-            Directory.CreateDirectory(LocaDataPath);
-        }
-        //Debug.Log(LocaDataPath);
-        //Debug.Log(m_LocaConfigPath);
-
-        ReadLocaData();
-    }
-
-    /// <summary>
-    /// 读取本地数据
-    /// </summary>
-    private void ReadLocaData()
-    {
-        string str = FileManager.ReadFile(m_LocaConfigPath);
-        foreach (JsonData item in JsonMapper.ToObject(str))
-        {
-            DownloadData data = new DownloadData(item);
-
-            if (File.Exists(data.localSavePath))
-            {
-                if (!m_LocaData.ContainsKey(data.downloadPath))
-                {
-                    List<DownloadData> datas = new List<DownloadData>();
-                    datas.Add(data);
-
-                    m_LocaData.Add(data.downloadPath, datas);
-                }
-                else
-                {
-                    var datas = m_LocaData[data.downloadPath];
-                    bool iscontains = false;
-                    for (int i = 0; i < datas.Count; i++)
-                    {
-                        if (datas[i].localSavePath == data.localSavePath)
-                        {
-                            iscontains = true;
-                        }
-                    }
-
-                    if (!iscontains)
-                    {
-                        datas.Add(data);
-                        m_LocaData[data.downloadPath] = datas;
-                    }
-                }
-
-
-                //if (!m_LocaData.Contains(data))
-                //{
-                //    m_LocaData.Add(data);
-                //}
-            }
-        }
-    }
-    /// <summary>
-    /// 保存本地数据
-    /// </summary>
-    private void SaveLocaData()
-    {
-        string str = "[]";
-        if (m_LocaData.Count > 0)
-        {
-            JsonData jsonData = new JsonData();
-
-            foreach (string key in m_LocaData.Keys)
-            {
-                var data = m_LocaData[key];
-                for (int i = 0; i < data.Count; i++)
-                {
-                    jsonData.Add(data[i].ToJsonData());
-                }
-            }
-            str = jsonData.ToJson();
-            Debug.Log("保存本地数据:" + str);
-        }
-
-        FileManager.WriteFile(str, m_LocaConfigPath);
-    }
-
-    /// <summary>
-    /// 检查是否已经下载了资源
-    /// </summary>
-    public bool CheckDownloadData(DownloadData data)
-    {
-        if (string.IsNullOrWhiteSpace(data.downloadPath))
-        {
-            return true;
-        }
-        
-
-        if (m_LocaData.ContainsKey(data.downloadPath))
-        {
-            var datas = m_LocaData[data.downloadPath];
-            for (int i = 0; i < datas.Count; i++)
-            {
-                if (datas[i].localSavePath == data.localSavePath)
-                {
-                    var loca = datas[i];
-                    if (!File.Exists(data.localSavePath))
-                    {
-                        datas.RemoveAt(i);
-                        m_LocaData[data.downloadPath] = datas;
-                        return false;
-                    }
-                    else
-                    {
-                        DateTime startTime = TimeZone.CurrentTimeZone.ToLocalTime(new DateTime(1970, 1, 1));
-                        var locatime = startTime.AddSeconds((double)loca.updateTime);
-                        var datatime = startTime.AddSeconds((double)data.updateTime);
-                        if (DateTime.Compare(locatime, datatime) >= 0)
-                        {
-                            //Debug.Log(string.Format("{0}>{1}", locatime, datatime));
-                            return true;
-                        }
-                        else
-                        {
-                            datas.RemoveAt(i);
-                            m_LocaData[data.downloadPath] = datas;
-                            File.Delete(data.localSavePath);
-                            return false;
-                        }
-
-                    }
-                }
-            }
-        }
-        else
-        {
-            return false;
-        }
-
-        return false;
-    }
-
-
-    public void AddDownloadData(DownloadData data)
-    {
-        if (!m_WaitDownloadData.ContainsKey(data.downloadPath))
-        {
-            m_WaitDownload.Add(data);
-            List<DownloadData> datas = new List<DownloadData>();
-            datas.Add(data);
-            m_WaitDownloadData.Add(data.downloadPath, datas);
-        }
-        else
-        {
-            var datas = m_WaitDownloadData[data.downloadPath];
-            for (int i = 0; i < datas.Count; i++)
-            {
-                if (datas[i].localSavePath == data.localSavePath)
-                {
-                    return;
-                }
-            }
-
-            m_WaitDownloadData[data.downloadPath].Add(data);
-            m_WaitDownload.Add(data);
-        }
-        //if (!m_WaitDownloadURL.Contains(data.downloadPath))
-        //{
-        //    m_WaitDownload.Add(data);
-        //    m_WaitDownloadURL.Add(data.downloadPath);
-        //}
-    }
-
-    public void UpdataData()
-    {
-        m_Downloaded.Clear();
-        StartCoroutine(StarDownload());
-        Debug.Log(m_WaitDownload.Count + "===================================");
-    }
-
-    IEnumerator StarDownload()
-    {
-        var loadUI = (LoadingPanel)UIManager.Instance.GetUI(UINameConfig.LoadingPanel);
-        var count = m_WaitDownload.Count;
-        yield return new WaitForSeconds(2f);
-
-        while (true)
-        {
-            if (m_Downloading.Count < 1 && m_WaitDownload.Count > 0)
-            {
-                var data = m_WaitDownload[0];
-                m_WaitDownload.RemoveAt(0);
-                if (CheckDownloadData(data))
-                {
-                    m_Downloaded.Add(data);
-                    AddLocaData(data);
-                    continue;
-                }
-
-                m_Downloading.Add(data);
-                loadUI.TextStr = data.downloadPath;
-                switch (data.type)
-                {
-                    case (int)MaterialType.Image:
-                        GetImage(data, (Image)null);
-                        //m_Downloading.Remove(data);
-                        //m_Downloaded.Add(data);
-                        //AddLocaData(data);
-                        break;
-                    case (int)MaterialType.Video:
-                        DownloadFile(data);
-                        break;
-                    case (int)MaterialType.Model:
-                        DownloadFile(data);
-                        //GetAssetBundle(data);
-                        break;
-                    case (int)MaterialType.Vuforia:
-                        DownloadFile(data);
-                        break;
-                    default:
-                        break;
-                }
-            }
-            //yield return new WaitForSeconds(1f);
-            if (m_Downloading.Count <= 0 && m_Downloaded.Count + m_FiledDownload.Count == count)
-            {
-                SaveLocaData();
-                loadUI.ProgressStr = "";
-                UIManager.Instance.ShowUI(UINameConfig.LoadingPanel, typeof(LoadingPanel), (int)ELoadState.updateEnd);
-                yield break;
-            }
-            loadUI.ProgressStr = ((float)(m_Downloaded.Count + m_FiledDownload.Count) / count).ToString("P");
-            yield return null;
-        }
-    }
-
-
-    #region public 请求方法
-
-    /// <summary>
-    /// 获取图片
-    /// </summary>
-    /// <param name="url">图片地址</param>
-    /// <param name="image">图片类型</param>
-    public void GetImage(DownloadData data, Image image)
-    {
-        if (string.IsNullOrEmpty(data.downloadPath))
-        {
-            m_Downloading.Remove(data);
-            m_FiledDownload.Add(data);
-            return;
-        }
-        StartCoroutine(LoadImage(data, (tex) =>
-        {
-            if(tex)
-            {
-                Sprite sprite = Sprite.Create(tex, new Rect(0, 0, tex.width, tex.height), new Vector2(0.5f, 0.5f));
-                if (image != null)
-                {
-                    image.sprite = sprite;
-                    image.transform.localScale = new Vector3(1, (float)tex.height / (float)tex.width, 1);
-                }
-
-            }
-        }));
-    }
-
-  //  private void ImageHandleMsg()
-
-    /// <summary>
-    /// 获取图片
-    /// </summary>
-    /// <param name="url">图片地址</param>
-    /// <param name="image">图片类型</param>
-    public void GetImage(DownloadData data, RawImage image)
-    {
-        if (string.IsNullOrEmpty(data.downloadPath))
-        {
-            image.texture = null;
-            return;
-        }
-        StartCoroutine(LoadImage(data, (tex) =>
-         {
-             if (image == null)
-             {
-                 return;
-             }
-             image.texture = tex;
-         }));
-    }
-
-
-
-    /// <summary>
-    /// 请求服务器地址上的音效
-    /// </summary>
-    /// <param name="url">没有音效地址</param>
-    /// <param name="actionResult">请求发起后处理回调结果的委托,处理请求结果的AudioClip</param>
-    /// <param name="audioType">音效类型</param>
-    /// <returns></returns>
-    public void GetAudioClip(string url, Action<AudioClip> actionResult, AudioType audioType = AudioType.WAV)
-    {
-        StartCoroutine(DownloadAudioClip(url, actionResult, audioType));
-    }
-
-    /// <summary>
-    /// 请求AssetBundle
-    /// </summary>
-    /// <param name="url">AssetBundle地址</param>
-    /// <param name="actionResult">请求发起后处理回调结果的委托,处理请求结果的AssetBundle</param>
-    /// <returns></returns>
-    public void GetAssetBundle(DownloadData data, Action<AssetBundle> actionResult = null)
-    {
-        StartCoroutine(_GetAssetBundle(data, actionResult));
-    }
-
-    /// <summary>
-    /// 下载文件
-    /// </summary>
-    /// <param name="url">请求地址</param>
-    /// <param name="filePath">储存文件的路径,路径需包含文件名</param>
-    /// <param name="actionResult">请求发起后处理回调结果的委托,处理请求对象</param>
-    /// <returns></returns>
-    public void DownloadFile(DownloadData data, Action<UnityWebRequest> actionResult = null)
-    {
-        StartCoroutine(_DownloadFile(data, actionResult));
-    }
-
-    #endregion
-
-
-    #region 文件
-
-    /// <summary>
-    /// 下载文件
-    /// </summary>
-    /// <param name="url">请求地址</param>
-    /// <param name="filePath">储存文件的路径</param>
-    /// <param name="actionResult">请求发起后处理回调结果的委托,处理请求对象</param>
-    /// <returns></returns>
-    IEnumerator _DownloadFile(DownloadData data, Action<UnityWebRequest> actionResult = null)
-    {
-        string url = HttpAction.baseurl + HttpAction.file_download;
-
-        FileDown file = new FileDown();
-        if (string.IsNullOrWhiteSpace(data.downloadPath))
-        {
-            m_Downloading.Remove(data);
-            m_FiledDownload.Add(data);
-            yield break;
-        }
-        file.url = data.downloadPath;
-        string jsonString = JsonConvert.SerializeObject(file);
-        byte[] bodyRaw = Encoding.UTF8.GetBytes(jsonString);
-
-        if (File.Exists(data.localSavePath))
-        {
-            m_Downloading.Remove(data);
-            m_Downloaded.Add(data);
-            AddLocaData(data);
-            //Debug.Log(data.downloadPath + "---------------------------------");
-            yield break;
-        }
-
-        Debug.LogFormat("{0}:{1}", "文件下载路径为", url);
-        UnityWebRequest uwr = new UnityWebRequest(url, UnityWebRequest.kHttpVerbPOST);
-        uwr.uploadHandler = (UploadHandler)new UploadHandlerRaw(bodyRaw);
-        uwr.downloadHandler = new DownloadHandlerFile(data.localSavePath);
-        uwr.SetRequestHeader("authorization", UserInfo.Instance.Token);
-        foreach (var v in HttpTool.Instance.RequestHeader)
-        {
-            uwr.SetRequestHeader(v.Key, v.Value);
-        }
-        yield return uwr.SendWebRequest();
-        while (!uwr.isDone)
-        {
-            Debug.Log(uwr.downloadProgress);
-        }
-
-        m_Downloading.Remove(data);
-        //Debug.Log(data.downloadPath + "---------------------------------");
-        if (uwr.isNetworkError || uwr.isHttpError)
-        {
-            Debug.LogErrorFormat("{0}:{1}", "当前下载发生错误", uwr.error);
-            m_FiledDownload.Add(data);
-        }
-        else
-        {
-            AddLocaData(data);
-            m_Downloaded.Add(data);
-        }
-        if (actionResult != null)
-        {
-            actionResult(uwr);
-        }
-
-        uwr.Abort();
-        uwr.Dispose();
-    }
-
-    #endregion
-
-    #region 图片下载
-
-    public void LoadMap(DownloadData data, Image image, Action<Texture2D> loadEnd)
-    {
-        StartCoroutine(LoadImage(data, loadEnd));
-    }
-
-
-
-    /// <summary>
-    /// 加载图片
-    /// </summary>
-    /// <param name="url"></param>
-    /// <param name="loadEnd"></param>
-    /// <returns></returns>
-    private IEnumerator LoadImage(DownloadData data, Action<Texture2D> loadEnd)
-    {
-        Texture2D texture = null;
-        //先从内存加载
-        if (m_ImageDic.TryGetValue(data.downloadPath, out texture))
-        {
-            Debug.Log("从内存获取");
-            //Debug.Log(data.downloadPath + "---------------------------------");
-            m_Downloading.Remove(data);
-            m_Downloaded.Add(data);
-            AddLocaData(data);
-            loadEnd.Invoke(texture);
-            yield break;
-        }
-        //Debug.Log("下载路径为" + filePath);
-        //从本地加载
-        bool hasLoad = false;
-        if (File.Exists(data.localSavePath))
-            yield return DownloadTexture(data, (state, localTexture) =>
-            {
-                Debug.Log("从本地获取   " + data.localSavePath);
-                hasLoad = state;
-                if (state)
-                {
-                    loadEnd.Invoke(localTexture);
-                    if (!m_ImageDic.ContainsKey(data.downloadPath))
-                    {
-                        m_ImageDic.Add(data.downloadPath, localTexture);
-                    }
-
-
-                    //Debug.Log(data.downloadPath + "---------------------------------");
-                    m_Downloading.Remove(data);
-                    m_Downloaded.Add(data);
-                    AddLocaData(data);
-                }
-            }, true);
-        if (hasLoad) yield break; //loaded
-        //下载
-        yield return DownloadTexture(data, (state, downloadTexture) =>
-        {
-            hasLoad = state;
-            if (state)
-            {
-                Debug.Log("网络下载");
-                loadEnd.Invoke(downloadTexture);
-                if (!m_ImageDic.ContainsKey(data.downloadPath))
-                    m_ImageDic.Add(data.downloadPath, downloadTexture);
-                Save2LocalPath(data.localSavePath, downloadTexture);
-                AddLocaData(data);
-                m_Downloaded.Add(data);
-            }
-            else
-            {
-                m_FiledDownload.Add(data);
-            }
-            m_Downloading.Remove(data);
-            //Debug.Log(data.downloadPath + "---------------------------------");
-        }, false);
-    }
-
-    /// <summary>
-    /// 下载图片
-    /// </summary>
-    /// <param name="url"></param>
-    /// <param name="downloadEnd">下载结果</param>
-    /// <param name="isLoca">判断是从网络下载还是从本地加载</param>
-    /// <returns></returns>
-    private IEnumerator DownloadTexture(DownloadData data, Action<bool, Texture2D> downloadEnd, bool isLoca)
-    {
-        string realUrl = isLoca ? data.localSavePath : HttpAction.baseurl + data.downloadPath;
-        //Debug.Log("图片下载地址为" + realUrl);
-        //if (isLoca)
-        //{
-        //string realUrl = data.localSavePath;
-        if (!isLoca && File.Exists(data.localSavePath))
-        {
-            File.Delete(data.localSavePath);
-        }
-
-        if (isLoca)
-        {
-#if UNITY_EDITOR
-            realUrl = data.localSavePath;
-#elif UNITY_ANDROID
-            realUrl = "file://"  + data.localSavePath;
-#endif
-        }
-        using (UnityWebRequest request = new UnityWebRequest(realUrl))
-        {
-            DownloadHandlerTexture downloadHandlerTexture = new DownloadHandlerTexture(true);
-            request.downloadHandler = downloadHandlerTexture;
-            yield return request.SendWebRequest();
-            if (string.IsNullOrEmpty(request.error))
-            {
-                Texture2D localTexture = downloadHandlerTexture.texture;
-                downloadEnd.Invoke(true, localTexture);
-                Resources.UnloadUnusedAssets();
-            }
-            else
-            {
-                downloadEnd.Invoke(false, null);
-                if (File.Exists(data.localSavePath))
-                {
-                    File.Delete(data.localSavePath);
-                }
-
-                Debug.LogError(request.error);
-                Debug.LogError(isLoca);
-                Debug.LogError(realUrl);
-                Debug.LogError(data.localSavePath);
-                Debug.LogError(data.downloadPath);
-                Debug.LogError("图片下载失败");
-
-
-            }
-            request.Abort();
-            request.downloadHandler.Dispose();
-            request.Dispose();
-        }
-        //}
-        //else
-        //{
-        //    string realUrl = HttpTool.Instance.BaseUrl + "/file/download";
-        //    FileDown file = new FileDown();
-        //    file.url = data.downloadPath;
-        //    string jsonString = JsonMapper.ToJson(file);
-        //    byte[] bodyRaw = Encoding.UTF8.GetBytes(jsonString);
-
-        //    using (UnityWebRequest request = new UnityWebRequest(realUrl, "POST"))
-        //    {
-        //        request.uploadHandler = (UploadHandler)new UploadHandlerRaw(bodyRaw);
-        //        DownloadHandlerTexture downloadHandlerTexture = new DownloadHandlerTexture(true);
-        //        request.downloadHandler = downloadHandlerTexture;
-        //        request.SetRequestHeader("authorization", HttpTool.Instance.Token);
-        //        foreach (var v in HttpTool.Instance.RequestHeader)
-        //        {
-        //            request.SetRequestHeader(v.Key, v.Value);
-        //        }
-        //        yield return request.SendWebRequest();
-        //        if (string.IsNullOrEmpty(request.error))
-        //        {
-        //            Texture2D localTexture = downloadHandlerTexture.texture;
-        //            downloadEnd.Invoke(true, localTexture);
-        //        }
-        //        else
-        //        {
-        //            downloadEnd.Invoke(false, null);
-        //            if (File.Exists(data.localSavePath))
-        //            {
-        //                File.Delete(data.localSavePath);
-        //            }
-
-        //            Debug.Log(request.error);
-        //            Debug.Log(data.downloadPath);
-        //            Debug.LogError("图片下载失败");
-
-
-        //        }
-        //        request.Abort();
-        //        request.Dispose();
-        //    }
-        //}
-    }
-
-    public void GetMapImage(DownloadData data, Image image, Action<bool, Texture2D> loadEnd)
-    {
-        StartCoroutine(GetMapImage(data, loadEnd));
-    }
-
-    IEnumerator GetMapImage(DownloadData data, Action<bool, Texture2D> downloadEnd)
-    {
-        string realUrl = HttpAction.baseurl + HttpAction.file_download;
-        FileDown file = new FileDown();
-        file.url = data.downloadPath;
-        string jsonString = JsonConvert.SerializeObject(file);
-        byte[] bodyRaw = Encoding.UTF8.GetBytes(jsonString);
-
-        using (UnityWebRequest request = new UnityWebRequest(realUrl, "POST"))
-        {
-            request.uploadHandler = (UploadHandler)new UploadHandlerRaw(bodyRaw);
-            DownloadHandlerTexture downloadHandlerTexture = new DownloadHandlerTexture(true);
-            request.downloadHandler = downloadHandlerTexture;
-            request.SetRequestHeader("authorization", UserInfo.Instance.Token);
-            foreach (var v in HttpTool.Instance.RequestHeader)
-            {
-                request.SetRequestHeader(v.Key, v.Value);
-            }
-            yield return request.SendWebRequest();
-            if (string.IsNullOrEmpty(request.error))
-            {
-                Texture2D localTexture = downloadHandlerTexture.texture;
-                downloadEnd.Invoke(true, localTexture);
-                Resources.UnloadUnusedAssets();
-            }
-            else
-            {
-                downloadEnd.Invoke(false, null);
-                if (File.Exists(data.localSavePath))
-                {
-                    File.Delete(data.localSavePath);
-                }
-
-                Debug.LogError(request.error);
-                Debug.LogError(data.downloadPath);
-                Debug.LogError("小地图下载失败");
-            }
-            request.Abort();
-            request.downloadHandler.Dispose();
-            request.Dispose();
-        }
-    }
-
-    /// <summary>
-    /// 保存图片
-    /// </summary>
-    /// <param name="url"></param>
-    /// <param name="texture"></param>
-    private void Save2LocalPath(string path, Texture2D texture)
-    {
-        byte[] bytes = texture.EncodeToPNG();
-        //string savePath = GetLocalPath();
-        //string filename = Path.GetFileName(url);
-        if (!Directory.Exists(path))
-        {
-            DirectoryInfo pathInfo = new DirectoryInfo(path);
-            pathInfo.Parent.Create();
-        }
-        if (File.Exists(path))
-        {
-            File.Delete(path);
-        }
-        try
-        {
-            File.WriteAllBytes(path, bytes);
-        }
-        catch (Exception ex)
-        {
-            Debug.LogError(ex.ToString());
-        }
-    }
-
-    /// <summary>
-    /// 获取图片保存路径
-    /// 是否加入用户/场景目录
-    /// </summary>
-    /// <returns></returns>
-    private string GetLocalPath()
-    {
-        string savePath = LocaDataPath + "/" + DataManager.Instance.CurrentScene.id.ToString() + "/pics/";
-        if (!Directory.Exists(savePath))
-        {
-            Directory.CreateDirectory(savePath);
-        }
-        return savePath;
-    }
-
-    #endregion
-
-    #region 音效
-
-    /// <summary>
-    /// 请求服务器地址上的音效
-    /// </summary>
-    /// <param name="url">音效地址</param>
-    /// <param name="actionResult">请求发起后处理回调结果的委托,处理请求结果的AudioClip</param>
-    /// <param name="audioType">音效类型</param>
-    /// <returns></returns>
-    IEnumerator DownloadAudioClip(string url, Action<AudioClip> actionResult, AudioType audioType = AudioType.WAV)
-    {
-        using (var uwr = UnityWebRequestMultimedia.GetAudioClip(url, audioType))
-        {
-            yield return uwr.SendWebRequest();
-            if (!(uwr.isNetworkError || uwr.isHttpError))
-            {
-                if (actionResult != null)
-                {
-                    actionResult(DownloadHandlerAudioClip.GetContent(uwr));
-                }
-            }
-        }
-    }
-
-    #endregion
-
-    #region AssetBundle
-
-
-    /// <summary>
-    /// 请求AssetBundle
-    /// </summary>
-    /// <param name="url">AssetBundle地址 </param>
-    /// <param name="actionResult">请求发起后处理回调结果的委托,处理请求结果的AssetBundle</param>
-    /// <returns></returns>
-    IEnumerator _GetAssetBundle(DownloadData data, Action<AssetBundle> actionResult = null)
-    {
-        if (string.IsNullOrWhiteSpace(data.downloadPath))
-        {
-            m_Downloading.Remove(data);
-            m_FiledDownload.Add(data);
-            yield break;
-        }
-        else
-        {
-
-            if (m_AbObjs.ContainsKey(Util.MD5Encrypt(data.downloadPath)))
-            {
-                m_Downloading.Remove(data);
-                m_Downloaded.Add(data);
-                //Debug.Log(data.downloadPath + "---------------------------------");
-                yield break;
-            }
-
-            string baseUrl = HttpAction.baseurl + data.downloadPath;
-            //Debug.Log(baseUrl + "ABABABABABAB");
-            AssetBundle ab = null;
-            UnityWebRequest request = UnityWebRequestAssetBundle.GetAssetBundle(baseUrl);
-            request.SetRequestHeader("authorization", UserInfo.Instance.Token);
-            yield return request.SendWebRequest();
-            if (request.isNetworkError || request.isHttpError)
-            {
-                m_Downloading.Remove(data);
-                m_FiledDownload.Add(data);
-                Debug.LogError(request.error);
-            }
-            else
-            {
-                ab = DownloadHandlerAssetBundle.GetContent(request);
-                if (ab == null)
-                {
-                    request.Dispose();
-                    yield break;
-                }
-                AssetBundleRequest abrequest = ab.LoadAssetAsync<GameObject>(data.name);
-                yield return abrequest;
-                GameObject obj = abrequest.asset as GameObject;
-                var @object = Instantiate(obj);
-                @object.SetActive(false);
-                m_AbObjs.Add(Util.MD5Encrypt(data.downloadPath), @object);
-
-                m_Downloading.Remove(data);
-                m_Downloaded.Add(data);
-                AddLocaData(data);
-                ab.Unload(false);
-            }
-            request.Abort();
-            request.Dispose();
-        }
-    }
-
-    #endregion
-
-
-
-    private void AddLocaData(DownloadData data)
-    {
-        if (m_LocaData.ContainsKey(data.downloadPath))
-        {
-            var datas = m_LocaData[data.downloadPath];
-            bool iscontains = false;
-            for (int i = 0; i < datas.Count; i++)
-            {
-                if (datas[i].localSavePath == data.localSavePath)
-                {
-                    iscontains = true;
-                    DateTime startTime = TimeZone.CurrentTimeZone.ToLocalTime(new DateTime(1970, 1, 1));
-                    var time1 = startTime.AddSeconds((double)datas[i].updateTime);
-                    var time2 = startTime.AddSeconds((double)data.updateTime);
-                    if (DateTime.Compare(time1, time2) >= 0)
-                    {
-                        //Debug.Log(string.Format("{0}>{1}", time1, time2));
-                        return;
-                    }
-                    else
-                    {
-                        datas.RemoveAt(i);
-                        datas.Add(data);
-                        m_LocaData[data.downloadPath] = datas;
-                        return;
-                    }
-                }
-            }
-
-            if (!iscontains)
-            {
-                datas.Add(data);
-                m_LocaData[data.downloadPath] = datas;
-            }
-        }
-        else
-        {
-            List<DownloadData> datas = new List<DownloadData>();
-            datas.Add(data);
-            m_LocaData.Add(data.downloadPath, datas);
-        }
-    }
-
-    private void OnApplicationQuit()
-    {
-        Debug.Log("退出程序");
-    }
-
-
-    public GameObject GetAbObj(string DownloadPath)
-    {
-        if (m_AbObjs.ContainsKey(DownloadPath))
-        {
-            return m_AbObjs[DownloadPath];
-        }
-        else
-        {
-            return null;
-        }
-    }
-}
-
-
-public class FileDown
-{
-    public string url { get; set; }
-}

+ 0 - 11
Assets/Scripts/Download/DownloadManager.cs.meta

@@ -1,11 +0,0 @@
-fileFormatVersion: 2
-guid: 186f1cee589a0e940bc0629dddc44f96
-MonoImporter:
-  externalObjects: {}
-  serializedVersion: 2
-  defaultReferences: []
-  executionOrder: 0
-  icon: {instanceID: 0}
-  userData: 
-  assetBundleName: 
-  assetBundleVariant: 

+ 14 - 7
Assets/Scripts/LayoutTemplate/BaseTemPlate.cs

@@ -9,7 +9,9 @@ public class BaseTemPlate : MonoBehaviour
     private GameObject m_Go;
     private MaterialType m_SuCaiType;
     private MaterialObjValue m_SuCaiData;
-    private DownloadData m_Data;
+    //  private DownloadData m_Data;
+
+    private DownLoadMaterial m_Data;
     private bool m_IsSetData = true;
     private bool state = false;
     public Transform CacheTransform
@@ -47,12 +49,17 @@ public class BaseTemPlate : MonoBehaviour
         set { m_SuCaiData = value; }
     }
 
-    public DownloadData Data
+    //public DownloadData Data
+    //{
+    //    get { return m_Data; }
+    //    set { m_Data = value;  }
+    //}
+
+    public DownLoadMaterial Data
     {
         get { return m_Data; }
-        set { m_Data = value;  }
+        set { m_Data = value; }
     }
-
     /// <summary>
     /// 是否为设置数据
     /// </summary>
@@ -111,14 +118,14 @@ public class BaseTemPlate : MonoBehaviour
     {
         m_SuCaiData = value;
      //   Debug.Log("@@@@@ " );
-        Data = new DownloadData(value);
+ //       Data = new DownloadData(value);
       //  Debug.Log("@@@@@ " + Data.localSavePath);
-        Data.updateTime = updateTime;
+     //   Data.updateTime = updateTime;
         IsSetData = false;
     }
     protected virtual void OnAwake()
     {
-        Data = null;
+     //   Data = null;
 
     }
     protected virtual void OnInit()

+ 6 - 6
Assets/Scripts/LayoutTemplate/TemplateImage.cs

@@ -29,13 +29,13 @@ public class TemplateImage : BaseTemPlate
         base.OnEnable();
         if (GameManager.Instance.IsRuning && m_Image.sprite == null && Data != null)
         {
-         //   DownloadManager.Instance.GetImage(Data, m_Image);
+            //   DownloadManager.Instance.GetImage(Data, m_Image);
 
-            DownLoadMaterial data = new DownLoadMaterial();
-            data.downLoadPath = Data.downloadPath;
-            data.localLoadPath = Application.persistentDataPath + "/Material/" + Path.GetFileName(Data.downloadPath);
-            data.updataTime = GameManager.Instance.m_SceneValue.updateTime;
-            data.type = "1";
+            DownLoadMaterial data = Data;
+            //data.downLoadPath = Data.downLoadPath;
+            //data.localLoadPath = Application.persistentDataPath + "/Material/" + Path.GetFileName(Data.downLoadPath);
+            //data.updataTime = GameManager.Instance.m_SceneValue.updateTime;
+            //data.type = "1";
             MsgHandler.AddListener(data.downLoadPath, HandleMsg);
             DownloadResManager.Instance.DownLoad(data);
         }

+ 5 - 5
Assets/Scripts/LayoutTemplate/TemplateModel.cs

@@ -18,9 +18,9 @@ public class TemplateModel : BaseTemPlate
         yield return new WaitForSeconds(0.01f);
         if (GameManager.Instance.IsRuning && m_ModelObj == null)
         {
-            Debug.Log(Data.name);
-            Debug.Log(Data.localSavePath);
-            AssetBundle ab = AssetBundle.LoadFromFile(Data.localSavePath);
+            //Debug.Log(Data.name);
+            //Debug.Log(Data.localSavePath);
+            AssetBundle ab = AssetBundle.LoadFromFile(Data.localLoadPath);
             if (ab == null)
             {
                 Debug.Log("Failed to load AssetBundle!");
@@ -185,7 +185,7 @@ public class TemplateModel : BaseTemPlate
         }
         else
         {
-            AssetBundle ab = AssetBundle.LoadFromFile(Data.localSavePath);
+            AssetBundle ab = AssetBundle.LoadFromFile(Data.localLoadPath);
             if (ab == null)
             {
                 Debug.Log("Failed to load AssetBundle!");
@@ -209,7 +209,7 @@ public class TemplateModel : BaseTemPlate
 
     private void HandleMsg(Msg msg)
     {
-        AssetBundle ab = AssetBundle.LoadFromFile(Data.localSavePath);
+        AssetBundle ab = AssetBundle.LoadFromFile(Data.localLoadPath);
         if (ab == null)
         {
             Debug.Log("Failed to load AssetBundle!");

+ 2 - 2
Assets/Scripts/LayoutTemplate/TemplateText.cs

@@ -61,8 +61,8 @@ public class TemplateText : BaseTemPlate
     {
         base.SetData(value, updateTime);
         SuCaiData = value;
-        Data = new DownloadData(value);
-        Data.updateTime = updateTime;
+        Data = new DownLoadMaterial(value);
+        Data.updataTime = updateTime;
         if (string.IsNullOrWhiteSpace(value.textContent))
         {
             return;

+ 28 - 13
Assets/Scripts/UI/EdirPanel/SingleMaterialItem.cs

@@ -1,4 +1,4 @@
-using System;
+using System;
 using System.Collections;
 using System.Collections.Generic;
 using System.IO;
@@ -53,22 +53,37 @@ public class SingleMaterialItem : MonoBehaviour
 
     private void CalUpdateData()
     {
-        DownloadData data = new DownloadData();
+        DownLoadMaterial data = new DownLoadMaterial();
         string filename = Path.GetFileName(m_Data.icon);
-        data.name = filename;
-        data.type = 1;
-        data.downloadPath = m_Data.icon;
-        data.localSavePath = DownloadManager.Instance.LocaDataPath + "/Icon/" + filename;
-        data.updateTime = m_Data.updateTime;
+      //  data.name = filename;
+        data.type = "1";
+        data.downLoadPath = m_Data.icon;
+        data.localLoadPath =Application.persistentDataPath + "/Material/" + filename;
+        data.updataTime = m_Data.updateTime;
 
-        if (!string.IsNullOrWhiteSpace((data.downloadPath)))
+        if (!string.IsNullOrWhiteSpace((data.downLoadPath)))
         {
-            DownloadManager.Instance.LoadMap(data, m_Icon, (tex) =>
-            {
-                Sprite sprite = Sprite.Create(tex, new Rect(0, 0, tex.width, tex.height), new Vector2(0.5f, 0.5f));
-                m_Icon.sprite = sprite;
-            });
+            //DownloadManager.Instance.LoadMap(data, m_Icon, (tex) =>
+            //{
+            //    Sprite sprite = Sprite.Create(tex, new Rect(0, 0, tex.width, tex.height), new Vector2(0.5f, 0.5f));
+            //    m_Icon.sprite = sprite;
+            //});
+
+            MsgHandler.AddListener(data.downLoadPath, HandleMsg);
+            DownloadResManager.Instance.DownLoad(data);
         }
         m_Name.text = string.IsNullOrWhiteSpace(m_Data.name) ? "" : m_Data.name;
     }
+
+    private void HandleMsg(Msg msg)
+    {
+        if(msg.Value!=null)
+        {
+            Texture2D tex = new Texture2D(1, 1);
+            tex.LoadImage((byte[])msg.Value);
+            Sprite sprite = Sprite.Create(tex, new Rect(0, 0, tex.width, tex.height), new Vector2(0.5f, 0.5f));
+            m_Icon.sprite = sprite;
+        }
+   
+    }
 }

+ 10 - 9
Assets/Scripts/UI/GameManager.cs

@@ -683,7 +683,8 @@ public class GameManager : MonoSingleton<GameManager>
       //  m_CalMap.SettingMapPoint(ListCrystals);
 
         UIManager.Instance.ShowUI(UINameConfig.LoadingPanel, typeof(LoadingPanel), (int)ELoadState.download);
-        DownloadManager.Instance.UpdataData();
+        //  DownloadManager.Instance.UpdataData();
+        DownloadResManager.Instance.StartDownLoad();
     }
     Action<bool> GetMinMapBack;
     /// <summary>
@@ -692,13 +693,13 @@ public class GameManager : MonoSingleton<GameManager>
     public void GetMinMap( SceneValue scene ,Action<bool> getBack)
     {
         GetMinMapBack = getBack;
-        DownloadData data1 = new DownloadData();
-        string filename = Path.GetFileName(MapPicUrl);
-        data1.name = filename;
-        data1.type = 1;
-        data1.downloadPath = MapPicUrl;
-        //data1.updateTime = (int)SceneValue.updateTime;
-        data1.localSavePath = DownloadManager.Instance.LocaDataPath + "/map/" + filename;
+        //DownloadData data1 = new DownloadData();
+        //string filename = Path.GetFileName(MapPicUrl);
+        //data1.name = filename;
+        //data1.type = 1;
+        //data1.downloadPath = MapPicUrl;
+        ////data1.updateTime = (int)SceneValue.updateTime;
+        //data1.localSavePath = DownloadManager.Instance.LocaDataPath + "/map/" + filename;
 
         if(scene.width>0 &&scene.length>0)
         {
@@ -1134,7 +1135,7 @@ public class GameManager : MonoSingleton<GameManager>
                     var modelitem = go.AddComponent<TemplateModel>();
                     go.SetActive(true);
                     modelitem.SetData(mat, material.updateTime);
-                    Debug.Log(modelitem.Data.localSavePath);
+                    Debug.Log(modelitem.Data.localLoadPath);
                     break;
                 case (int)MaterialType.Text:
                     var pText = ResMgr.Instance.Load<GameObject>("Template/Prefab/Text");

+ 28 - 28
Assets/Scripts/UI/LoginPanel.cs

@@ -550,34 +550,34 @@ public class LoginPanel : BaseUI
 
     private void CalMat(List<MaterialObl> mats)
     {
-        for (int i = 0; i < mats.Count; i++)
-        {
-            var mat = mats[i];
-            if (!string.IsNullOrWhiteSpace(mat.icon))
-            {
-                DownloadData data1 = new DownloadData();
-                string filename = Path.GetFileName(mat.icon);
-                data1.name = filename;
-                data1.type = 1;
-                data1.downloadPath = mat.icon;
-                data1.updateTime = mat.updateTime;
-
-                data1.localSavePath = DownloadManager.Instance.LocaDataPath + "/Icon/" + filename;
-                DownloadManager.Instance.AddDownloadData(data1);
-            }
-            if (mat.materialList != null)
-            {
-                for (int m = 0; m < mat.materialList.Count; m++)
-                {
-                    var matObj = mat.materialList[m];
-                    if (int.Parse(matObj.type) != 4)
-                    {
-                        DownloadData data = new DownloadData(matObj);
-                        DownloadManager.Instance.AddDownloadData(data);
-                    }
-                }
-            }
-        }
+        //for (int i = 0; i < mats.Count; i++)
+        //{
+        //    var mat = mats[i];
+        //    if (!string.IsNullOrWhiteSpace(mat.icon))
+        //    {
+        //        DownloadData data1 = new DownloadData();
+        //        string filename = Path.GetFileName(mat.icon);
+        //        data1.name = filename;
+        //        data1.type = 1;
+        //        data1.downloadPath = mat.icon;
+        //        data1.updateTime = mat.updateTime;
+
+        //        data1.localSavePath = DownloadManager.Instance.LocaDataPath + "/Icon/" + filename;
+        //        DownloadManager.Instance.AddDownloadData(data1);
+        //    }
+        //    if (mat.materialList != null)
+        //    {
+        //        for (int m = 0; m < mat.materialList.Count; m++)
+        //        {
+        //            var matObj = mat.materialList[m];
+        //            if (int.Parse(matObj.type) != 4)
+        //            {
+        //                DownloadData data = new DownloadData(matObj);
+        //                DownloadManager.Instance.AddDownloadData(data);
+        //            }
+        //        }
+        //    }
+        //}
     }
 
     private void CalMatCOS(List<MaterialObl> mats)

+ 36 - 15
Assets/Scripts/UI/SceneChoose.cs

@@ -224,24 +224,45 @@ public class SceneChoose : BaseUI
 
             if (scene.vuforiaXML != null)
             {
-                DownloadData xml = new DownloadData();
+                //DownloadData xml = new DownloadData();
+                //string filename = Path.GetFileName(scene.vuforiaXML);
+                //xml.name = filename;
+                //xml.type = 8;
+                //xml.downloadPath = scene.vuforiaXML;
+                //xml.updateTime = (int)scene.updateTime;
+                //xml.localSavePath = Application.persistentDataPath + "/StreamingAssets/Vuforia/" + filename;
+                //DownloadManager.Instance.AddDownloadData(xml);
+
+                //DownloadData dat = new DownloadData();
+                //string filename2 = Path.GetFileName(scene.vuforiaDat);
+                //dat.name = filename2;
+                //dat.type = 8;
+                //dat.downloadPath = scene.vuforiaDat;
+                //dat.updateTime = (int)scene.updateTime;
+                //dat.localSavePath = Application.persistentDataPath + "/StreamingAssets/Vuforia/" + filename2;
+
+                //DownloadManager.Instance.AddDownloadData(dat);
+
+
+                DownLoadMaterial xml = new DownLoadMaterial();
                 string filename = Path.GetFileName(scene.vuforiaXML);
-                xml.name = filename;
-                xml.type = 8;
-                xml.downloadPath = scene.vuforiaXML;
-                xml.updateTime = (int)scene.updateTime;
-                xml.localSavePath = Application.persistentDataPath + "/StreamingAssets/Vuforia/" + filename;
-                DownloadManager.Instance.AddDownloadData(xml);
-
-                DownloadData dat = new DownloadData();
+               // xml.name = filename;
+                xml.type = "-2";
+                xml.downLoadPath = scene.vuforiaXML;
+                xml.updataTime = scene.updateTime;
+                xml.localLoadPath = Application.persistentDataPath + "/StreamingAssets/Vuforia/" + filename;
+                // DownloadManager.Instance.AddDownloadData(xml);
+                DownloadResManager.Instance.DownLoad(xml);
+
+                DownLoadMaterial dat = new DownLoadMaterial();
                 string filename2 = Path.GetFileName(scene.vuforiaDat);
-                dat.name = filename2;
-                dat.type = 8;
-                dat.downloadPath = scene.vuforiaDat;
-                dat.updateTime = (int)scene.updateTime;
-                dat.localSavePath = Application.persistentDataPath + "/StreamingAssets/Vuforia/" + filename2;
+                //dat.name = filename2;
+                dat.type = "-2";
+                dat.downLoadPath = scene.vuforiaDat;
+                dat.updataTime = (int)scene.updateTime;
+                dat.localLoadPath = Application.persistentDataPath + "/StreamingAssets/Vuforia/" + filename2;
+                DownloadResManager.Instance.DownLoad(dat);
 
-                DownloadManager.Instance.AddDownloadData(dat);
             }
         }
 

+ 3 - 3
ProjectSettings/ProjectSettings.asset

@@ -924,6 +924,7 @@ PlayerSettings:
   metroSplashScreenUseBackgroundColor: 1
   platformCapabilities:
     WindowsStoreApps:
+      EnterpriseAuthentication: False
       OfflineMapsManagement: False
       HumanInterfaceDevice: False
       Location: False
@@ -935,7 +936,6 @@ PlayerSettings:
       PrivateNetworkClientServer: False
       InternetClientServer: False
       VideosLibrary: False
-      BackgroundMediaPlayback: False
       Objects3D: False
       RemoteSystem: False
       BlockedChatMessages: False
@@ -958,9 +958,9 @@ PlayerSettings:
       RecordedCallsFolder: False
       Contacts: False
       InternetClient: True
-      Proximity: False
       CodeGeneration: False
-      EnterpriseAuthentication: False
+      BackgroundMediaPlayback: False
+      Proximity: False
   metroTargetDeviceFamilies:
     Desktop: False
     Holographic: False