コード例 #1
0
        static void DisplayProgress(
            UpdateOperationStatus status,
            BuildProgressSpeedAndRemainingTime.ProgressData progressData,
            string cloudRepository)
        {
            string totalProgressMessage = UpdateProgressRender.
                                          GetProgressString(status, progressData);

            float totalProgressPercent = GetProgressBarPercent.
                                         ForTransfer(status.UpdatedSize, status.TotalSize) / 100f;

            EditorUtility.DisplayProgressBar(
                string.Format("Downloading {0}", cloudRepository),
                totalProgressMessage, totalProgressPercent);
        }
コード例 #2
0
ファイル: UpdateProgress.cs プロジェクト: BaseDorp/TankGame
        internal void OnUpdateProgress()
        {
            var progress = mWorkspaceWindow.Progress;

            progress.ProgressHeader = UpdateProgressRender.FixNotificationPath(
                mWkPath, mNotifier.GetNotificationMessage());

            UpdateOperationStatus status = mNotifier.GetUpdateStatus();

            progress.TotalProgressMessage = UpdateProgressRender.GetProgressString(
                status, mProgressData);

            progress.TotalProgressPercent = GetProgressBarPercent.ForTransfer(
                status.UpdatedSize, status.TotalSize) / 100f;
        }
コード例 #3
0
        internal void Refresh(
            CheckinStatus checkinStatus,
            BuildProgressSpeedAndRemainingTime.ProgressData progressData)
        {
            if (checkinStatus == null)
            {
                return;
            }

            var progress = mGuiClient.Progress;

            progress.ProgressHeader = checkinStatus.StatusString;

            if (checkinStatus.Status >= EnumCheckinStatus.eciConfirming)
            {
                progress.CanCancelProgress = false;
            }

            if (checkinStatus.Status == EnumCheckinStatus.eciCancelling)
            {
                return;
            }

            int nowTicks = Environment.TickCount;

            progress.TotalProgressMessage = mProgressRender.GetUploadSize(
                checkinStatus.TransferredSize, checkinStatus.TotalSize, progressData);

            progress.TotalProgressPercent = GetProgressBarPercent.ForTransfer(
                checkinStatus.TransferredSize, checkinStatus.TotalSize) / 100f;

            progress.ShowCurrentBlock = mProgressRender.
                                        NeedShowCurrentBlockForCheckinStatus(checkinStatus, nowTicks);

            string currentFileInfo = mProgressRender.GetCurrentFileInfo(
                checkinStatus.CurrentCheckinBlock, mWkInfo.ClientPath);

            progress.ProgressHeader = currentFileInfo;

            float fileProgressBarValue = GetProgressBarPercent.ForTransfer(
                checkinStatus.CurrentCheckinBlock.UploadedSize,
                checkinStatus.CurrentCheckinBlock.BlockSize) / 100f;

            progress.CurrentBlockProgressPercent = fileProgressBarValue;

            progress.CurrentBlockProgressMessage = mProgressRender.GetCurrentBlockUploadSize(
                checkinStatus.CurrentCheckinBlock, nowTicks);
        }
コード例 #4
0
        static void UpdateProgress(string wkPath,
                                   CreateWorkspaceFromCollab.Progress progress,
                                   ProgressControlsForMigration progressControls,
                                   BuildProgressSpeedAndRemainingTime.ProgressData progressData)
        {
            string header = MigrationProgressRender.FixNotificationPath(
                wkPath, progress.CurrentFile);

            string message = MigrationProgressRender.GetProgressString(
                progress,
                progressData,
                DateTime.Now,
                0.05,
                "Calculating...",
                "Converted {0} of {1}bytes ({2} of 1 file){4}",
                "Converted {0} of {1}bytes ({2} of {3} files {4})",
                "remaining");

            float percent = GetProgressBarPercent.ForTransfer(
                progress.ProcessedSize, progress.TotalSize) / 100f;

            progressControls.ShowProgress(header, message, percent);
        }
コード例 #5
0
        static void DownloadInstaller(
            string url,
            string destinationPath,
            ProgressControlsForDialogs progressControls)
        {
            int bytesProcessed = 0;

            Stream      remoteStream = null;
            Stream      localStream  = null;
            WebResponse response     = null;

            try
            {
                WebRequest request = WebRequest.Create(url);
                response = request.GetResponse();

                long totalBytes = response.ContentLength;

                if (File.Exists(destinationPath) &&
                    new FileInfo(destinationPath).Length == totalBytes)
                {
                    UnityEngine.Debug.LogFormat(
                        PlasticLocalization.GetString(PlasticLocalization.Name.SkippingDownloadFileExists),
                        destinationPath);
                    return;
                }

                remoteStream = response.GetResponseStream();

                localStream = File.Create(destinationPath);

                byte[] buffer = new byte[100 * 1024];
                int    bytesRead;

                do
                {
                    bytesRead = remoteStream.Read(buffer, 0, buffer.Length);
                    localStream.Write(buffer, 0, bytesRead);
                    bytesProcessed += bytesRead;

                    progressControls.ProgressData.ProgressPercent =
                        GetProgressBarPercent.ForTransfer(
                            bytesProcessed,
                            totalBytes) / 100f;
                } while (bytesRead > 0);
            }
            finally
            {
                if (response != null)
                {
                    response.Close();
                }

                if (remoteStream != null)
                {
                    remoteStream.Close();
                }

                if (localStream != null)
                {
                    localStream.Close();
                }
            }
        }