少年修仙传客户端代码仓库
3335  修改资源下载显示逻辑,显示的已下载数据包大小强制小等于预计要下载的数据包大小,如果已下载的数据包大小大于预计,则下载速度显示随机显示5到10KB/S。适用于apk下载、游戏启动阶段资源下载、游戏内部资源下载。这个策略的目的是为了在cdn异常,或者网络波动较大等会出现重复下载或者下载链接的内容与预期不符合的情况。
3个文件已修改
51 ■■■■ 已修改文件
System/AssetVersion/DownLoadWin.cs 17 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/AssetVersion/InGameDownLoadWin.cs 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/ClientVersion/VersionUpdateWin.cs 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/AssetVersion/DownLoadWin.cs
@@ -86,14 +86,23 @@
                {
                    timer -= 1f;
                    m_ProgressSlider.value = DownLoadAndDiscompressTask.Instance.progress;
                    var downLoadedSize = ((float)RemoteFile.TotalDownloadedSize / DownLoadAndDiscompressTask.BYTE_PER_MILLIONBYTE).ToString("f1");
                    var totalSize = ((float)DownLoadAndDiscompressTask.Instance.totalSize / DownLoadAndDiscompressTask.BYTE_PER_MILLIONBYTE).ToString("f1");
                    m_Progress.text = Language.GetFromLocal(13, StringUtility.Contact(downLoadedSize, "M", "/", totalSize, "M"));
                    var totalSizeString = ((float)DownLoadAndDiscompressTask.Instance.totalSize / DownLoadAndDiscompressTask.BYTE_PER_MILLIONBYTE).ToString("f1");
                    var downLoadedSize = Mathf.Clamp(RemoteFile.TotalDownloadedSize, 0, DownLoadAndDiscompressTask.Instance.totalSize - 1);
                    var downLoadedSizeString = ((float)downLoadedSize / DownLoadAndDiscompressTask.BYTE_PER_MILLIONBYTE).ToString("f1");
                    m_Progress.text = Language.GetFromLocal(13, StringUtility.Contact(downLoadedSizeString, "M", "/", totalSizeString, "M"));
                }
                if (Time.frameCount % 2 == 0)
                {
                    m_DownLoadSpeed.text = RemoteFile.DownloadSpeed;
                    if (RemoteFile.TotalDownloadedSize >= DownLoadAndDiscompressTask.Instance.totalSize)
                    {
                        m_DownLoadSpeed.text = StringUtility.Contact(UnityEngine.Random.Range(5, 10), "KB/S");
                    }
                    else
                    {
                        m_DownLoadSpeed.text = RemoteFile.DownloadSpeed;
                    }
                }
            }
        }
System/AssetVersion/InGameDownLoadWin.cs
@@ -108,14 +108,22 @@
                {
                    timer -= 1f;
                    m_ProgressSlider.value = InGameDownLoad.Instance.progress;
                    var downLoadedSize = ((float)InGameDownLoad.Instance.showDownLoadedSize / InGameDownLoad.BYTE_PER_MILLIONBYTE).ToString("f1");
                    var totalSize = ((float)InGameDownLoad.Instance.showTotalSize / InGameDownLoad.BYTE_PER_MILLIONBYTE).ToString("f1");
                    m_Progress.text = Language.GetFromLocal(13, StringUtility.Contact(downLoadedSize, "M", "/", totalSize, "M"));
                    var totalSizeString = ((float)InGameDownLoad.Instance.showTotalSize / InGameDownLoad.BYTE_PER_MILLIONBYTE).ToString("f1");
                    var downLoadedSize = Mathf.Clamp(InGameDownLoad.Instance.showDownLoadedSize, 0, InGameDownLoad.Instance.showTotalSize - 1);
                    var downLoadedSizeString = ((float)downLoadedSize / InGameDownLoad.BYTE_PER_MILLIONBYTE).ToString("f1");
                    m_Progress.text = Language.GetFromLocal(13, StringUtility.Contact(downLoadedSizeString, "M", "/", totalSizeString, "M"));
                }
                if (Time.frameCount % 2 == 0)
                {
                    m_DownLoadSpeed.text = RemoteFile.DownloadSpeed;
                    if (InGameDownLoad.Instance.showDownLoadedSize >= InGameDownLoad.Instance.showTotalSize)
                    {
                        m_DownLoadSpeed.text = StringUtility.Contact(UnityEngine.Random.Range(5, 10), "KB/S");
                    }
                    else
                    {
                        m_DownLoadSpeed.text = RemoteFile.DownloadSpeed;
                    }
                }
            }
        }
System/ClientVersion/VersionUpdateWin.cs
@@ -99,17 +99,23 @@
                    m_ProgressSlider.value = VersionUtility.Instance.progress;
                    var downLoadedSize = ((float)RemoteFile.TotalDownloadedSize / DownLoadAndDiscompressTask.BYTE_PER_MILLIONBYTE).ToString("f1");
                    var totalSize = ((float)VersionUtility.Instance.GetApkSize() * 1024 / DownLoadAndDiscompressTask.BYTE_PER_MILLIONBYTE).ToString("f1");
                    m_Progress.text = Language.GetFromLocal(13, StringUtility.Contact(downLoadedSize, "M", "/", totalSize, "M"));
                    var totalSizeString = ((float)VersionUtility.Instance.GetApkSize() * 1024 / DownLoadAndDiscompressTask.BYTE_PER_MILLIONBYTE).ToString("f1");
                    var downLoadedSize = Mathf.Clamp(RemoteFile.TotalDownloadedSize, 0, VersionUtility.Instance.GetApkSize());
                    var downLoadedSizeString = ((float)downLoadedSize / DownLoadAndDiscompressTask.BYTE_PER_MILLIONBYTE).ToString("f1");
                    m_Progress.text = StringUtility.Contact((VersionUtility.Instance.progress * 100).ToString("f0"), "%");
                    m_Progress.text = Language.GetFromLocal(13, StringUtility.Contact(downLoadedSizeString, "M", "/", totalSizeString, "M"));
                }
                if (Time.frameCount % 2 == 0)
                {
                    m_DownLoadSpeed.text = RemoteFile.DownloadSpeed;
                    if (RemoteFile.TotalDownloadedSize >= VersionUtility.Instance.GetApkSize())
                    {
                        m_DownLoadSpeed.text = StringUtility.Contact(UnityEngine.Random.Range(5, 10), "KB/S");
                    }
                    else
                    {
                        m_DownLoadSpeed.text = RemoteFile.DownloadSpeed;
                    }
                }
            }
        }