Exemple #1
0
 /// <summary>
 /// 创建一个 下载节点;
 /// </summary>
 /// <param name="exData">追加内容,对应类型解;</param>
 public DownLoadPack(string strUrl, DownLoadAssetInfo downLoadInfo, DownLoadAssetType assetType, DownLoadCallBack funCallBack, object exData, bool debugError)
 {
     m_DownLoadAssetInfo = downLoadInfo;
     m_AssetType         = assetType;
     m_CallBack          = funCallBack;
     m_exData            = exData;
     m_strUrl            = strUrl;
     m_AssetRefer        = 1;
     m_DebugError        = debugError;
 }
Exemple #2
0
        static private DownLoadPack AddDownLoadAssetPack(string strName, string strURL, DownLoadAssetType assetType, Callback <object> callBack, object exData, bool debugError)
        {
            DownLoadPack gtAssetPack = null;

            if (m_AssetPackMap.ContainsKey(strName))            //如果存在上一个if的情况,此步等同于下载不销毁,重置回调 or 正常流程重复请求;
            {
                gtAssetPack = m_AssetPackMap[strName];
                if (gtAssetPack != null)
                {
                    gtAssetPack.AssetInfo.m_callBack += callBack;
                    gtAssetPack.m_AssetRefer++;
                }
            }
            else
            {
                DownLoadAssetInfo gtInfo = null;
                if (assetType == DownLoadAssetType.ConfigVersion)                //配置文件 特殊处理;
                {
                    gtInfo           = new DownLoadAssetInfo();
                    gtInfo.m_strName = strName;
                }
                else
                {
                    gtInfo = WWWDownLoaderConfig.GetAssetDownLoadInfo(strName);
                }

                if (gtInfo == null)
                {
                    Debug.LogError("WWWLoader LoadAsset, DownLoadInfo can not be null. \n" + strName);
                }
                else
                {
                    gtInfo.m_callBack   = callBack;
                    gtInfo.m_strFileUrl = strURL;                    //for组装下载路径 and 保存路径;

                    //gtAssetPack = new DownLoadPack(m_strWWWDownLoadUrl, gtInfo, assetType, DownLoadFinish, exData, debugError);
                    gtAssetPack = new DownLoadPack(m_strWWWDownLoadUrl, gtInfo, assetType, null, exData, debugError);

                    m_AssetPackMap.Add(strName, gtAssetPack);
                }
            }

            return(gtAssetPack);
        }
Exemple #3
0
        /// <summary>
        /// 解析客户端资源MD5配置;
        /// </summary>
        static public void ParseServerResourcesConfig(string strBelongConfig, string strData)
        {
            if (string.IsNullOrEmpty(strData))
            {
                Debug.LogError("WWWDownLoaderManage ParseServerResourcesConfig,Config Data can not be null");
                return;
            }

            KeyValuePairConfigHelper kvpHelper = new KeyValuePairConfigHelper();

            kvpHelper.LoadConfig(strData, CommonValue.ResDir + strBelongConfig);

            if (kvpHelper.SelectHeadNode())
            {
                while (true)
                {
                    DownLoadAssetInfo downLoadInfo = new DownLoadAssetInfo();
                    downLoadInfo.m_strName         = kvpHelper.GetNodeKey();
                    downLoadInfo.m_strMD5          = kvpHelper.GetNodeMD5();
                    downLoadInfo.m_nSize           = Convert.ToInt64(kvpHelper.GetNodeSize());
                    downLoadInfo.m_strBelongConfig = strBelongConfig;

                    if (m_dicDownLoadInfo.ContainsKey(downLoadInfo.m_strName))
                    {
                        Debug.LogError("WWWDownLoaderManage ParseServerJson,Same Key : " + downLoadInfo.m_strName);
                    }
                    else
                    {
                        m_dicDownLoadInfo.Add(downLoadInfo.m_strName, downLoadInfo);
                    }

                    if (!kvpHelper.SelectNextNode())
                    {
                        break;//结束读取循环;
                    }
                }
            }
        }