/// <summary> /// 添加单个下载任务 /// </summary> /// <param name="resID"></param> /// <param name="task"></param> /// <param name="beginCallback"></param> /// <param name="downloadingCallback"></param> /// <param name="completeCallback"></param> public void AddDownLoadTask(int resID, GameObject task, Action beginCallback = null, DownLoadOne.DownloadingRate downloadingCallback = null, DownLoadManager.DownloadGameobjCallback completeCallback = null) { if (task == null) { return; } DownLoadOne component = task.GetComponent <DownLoadOne>(); if (component == null) { component = task.AddComponent <DownLoadOne>(); } if (DownLoadTaskDic.ContainsKey(resID)) { return; } //添加下载完毕的回调 component.OnDownLoadToManager = OnDownLoadToManager; //初始化下载数据 component.InitDownLoadTask(resID, beginCallback, downloadingCallback, completeCallback); //给组件脚本添加事件完成事件 DownLoadTaskDic.Add(resID, component); }
/// <summary> /// 单个元素下载完毕后告知管理器 /// </summary> /// <param name="resID"></param> /// <param name="component"></param> private void OnDownLoadToManager(int resID, DownLoadOne component) { UnityEngine.Debug.Log("下载完成 id = " + resID + " name is " + component.name); component.OnDownLoadToManager = null; DownLoadTaskDic.Remove(resID); //补充新的下载任务 StartDownLoadOneTask(); }