コード例 #1
0
    /// <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);
    }
コード例 #2
0
    /// <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();
    }