Beispiel #1
0
        /// <summary>
        /// 获取assets下载任务
        /// </summary>
        /// <param name="source">下载源</param>
        /// <param name="assets">assets实例</param>
        /// <param name="core">所使用的核心</param>
        /// <returns>下载任务</returns>
        public static DownloadTask GetAssetsDownloadTask(DownloadSource source, JAssetsInfo assets, LaunchHandler core)
        {
            string from = GetAssetsDownloadURL(source, assets);
            string to   = core.GetAssetsPath(assets);

            return(new DownloadTask("游戏资源文件" + assets.Hash, from, to));
        }
Beispiel #2
0
        /// <summary>
        /// 获取assets下载地址
        /// </summary>
        /// <param name="source">下载源</param>
        /// <param name="assets">assets实例</param>
        /// <returns>下载URL</returns>
        public static string GetAssetsDownloadURL(DownloadSource source, JAssetsInfo assets)
        {
            switch (source)
            {
            case DownloadSource.Mojang:
                return((MojangAssetsBaseUrl + GetAssetsPath(assets)).Replace('\\', '/'));

            case DownloadSource.BMCLAPI:
                return((BMCLUrl + "objects\\" + GetAssetsPath(assets)).Replace('\\', '/'));

            default:
                throw new ArgumentNullException("source");
            }
        }
Beispiel #3
0
 private static string GetAssetsPath(JAssetsInfo assetsInfo)
 {
     return(String.Format(@"{0}\{1}", assetsInfo.Hash.Substring(0, 2), assetsInfo.Hash));
 }
Beispiel #4
0
 public string GetAssetsPath(JAssetsInfo assetsInfo)
 {
     return(PathManager.GetAssetsPath(GameRootPath, assetsInfo));
 }
Beispiel #5
0
 public string GetAssetsPath(JAssetsInfo assetsInfo)
 {
     return(string.Format(@"{0}\assets\objects\{1}\{2}", this.GameRootPath, assetsInfo.Hash.Substring(0, 2), assetsInfo.Hash));
 }