/// <summary>
        /// 根据输入的数据大小和类型 返回正确的网络流量表示法
        /// </summary>
        /// <param name="byteSize">数据大小</param>
        /// <param name="dataEnum">数据单位</param>
        /// <param name="accuracy">显示的数值精确到小数点后面几位</param>
        public void GetNetDataDesciption(ref float byteSize, ref NetDataEnum dataEnum, uint accuracy = 2)
        {
            if (byteSize < 1024)
            {
                byteSize = (int)(Mathf.Pow(10, accuracy) * byteSize) / Mathf.Pow(10, accuracy);
                return;
            }
            byteSize = byteSize / 1024;
            dataEnum = (NetDataEnum)(dataEnum + 1);

            GetNetDataDesciption(ref byteSize, ref dataEnum, accuracy);
        }
        /// <summary>
        /// 根据输入的数据大小和类型 返回正确的网络流量表示法
        /// </summary>
        /// <param name="byteSize">数据大小</param>
        /// <param name="dataEnum">数据单位</param>
        /// <param name="isUpdaRounding">true是否是向上取整,false 时候直接除以1024 取整 </param>
        public void GetNetDataDesciption(ref int byteSize, ref NetDataEnum dataEnum, bool isUpdaRounding)
        {
            if (byteSize < 1024)
            {
                return;
            }
            if (isUpdaRounding)
            {
                byteSize = (byteSize + 1023) / 1024;
            }
            else
            {
                byteSize = byteSize / 1024;
            }
            dataEnum = (NetDataEnum)(dataEnum + 1);

            GetNetDataDesciption(ref byteSize, ref dataEnum, isUpdaRounding);
        }
        /// <summary>
        /// 更新下载进度视图
        /// </summary>
        private void UpdateDownloadProcessView()
        {
            m_txtUpdateProcessText.text = (int)(m_TotalDownloadedSize * 100f / TotalSize) + "%"; //下载百分比

            NetDataEnum dataEnum = NetDataEnum.B;

            NetWorkUtility.Instance.GetNetDataDesciption(ref m_DownLoadSizeRecordThisSecond, ref dataEnum, true);
            m_txtUpdateSpeedText.text = string.Format("{0} {1}/秒", m_DownLoadSizeRecordThisSecond, dataEnum.ToString());  //下载速度


            dataEnum = NetDataEnum.B;
            int totalDownLoadSize = m_TotalDownloadedSize;

            NetWorkUtility.Instance.GetNetDataDesciption(ref totalDownLoadSize, ref dataEnum, true);
            m_txtUpdateSizeText.text = string.Format("{0} {1}/{2}{3}", totalDownLoadSize, dataEnum, m_TotalSize, m_TotalSizeEnum);  //下载的大小
            Debug.LogEditorInfor("UpdateDownLoadProcess  " + dataEnum + "  Size=" + m_DownLoadSizeRecordThisSecond);

            m_DownLoadSizeRecordThisSecond = 0;
        }
Example #4
0
    private void ShowDownloadProcess(bool isShowDownloadSpeed, bool isShowDownloadCount)
    {
        float process = m_TotalDownloadedSize / (TotalSize * 1f);

        m_UpdateProcessText.text = (int)(process * 100) + "%";
        if (isShowDownloadSpeed)
        {
            float       downloadSize = m_DownLoadSizeRecordThisSecond / m_UpdateDetail;
            NetDataEnum dataEnum     = NetDataEnum.B;
            NetWorkTool.GetInstance().GetNetDataDesciption(ref downloadSize, ref dataEnum, 2);
            if (m_UpdateSpeedText.gameObject.activeSelf == false)
            {
                m_UpdateSpeedText.gameObject.SetActive(true);
            }
            m_UpdateSpeedText.text = string.Format("当前网速{0}{1}/S", downloadSize, dataEnum.ToString());
            // m_UpdateSpeedText.text = "当前网速" + m_DownLoadSizeRecordThisSecond/ m_UpdateDetail + "B/S";
        }
        else
        {
            m_UpdateSpeedText.gameObject.SetActive(false);
        }

        if (isShowDownloadCount)
        {
            float       TotalDownloadedSize = m_TotalDownloadedSize;
            NetDataEnum dataEnum2           = NetDataEnum.B;
            NetWorkTool.GetInstance().GetNetDataDesciption(ref TotalDownloadedSize, ref dataEnum2, 2);
            if (m_UpdateSizeText.gameObject.activeSelf == false)
            {
                m_UpdateSizeText.gameObject.SetActive(true);
            }
            m_UpdateSizeText.text = string.Format("更新进度{0}{1}/{2}{3}", TotalDownloadedSize, dataEnum2.ToString(), m_TotalSize, m_TotalSizeEnum.ToString());
            //  m_UpdateSizeText.text = string.Format("更新进度{0}B/{1}B", m_TotalDownloadedSize, TotalSize);
        }
        else
        {
            m_UpdateSizeText.gameObject.SetActive(false);
        }
        m_ProcessImg.fillAmount = process;
    }