public void UpdateDisplay() { if (IsIncoming.ClearDirty()) { _incomingText.text = IsIncoming.Get() ? "Receiving:" : "Sending:"; } if (Description.ClearDirty()) { _descriptionText.text = Description.Get(); } if (TotalDataSize.ClearDirty() || CurrentDataSize.ClearDirty() || State.ClearDirty()) { if (CurrentDataSize.Get() == -1) { _progressSlider.gameObject.SetActive(false); _progressText.text = $"{State} - {StringUtility.ByteCountToReadableString(TotalDataSize.Get())}"; } else { _progressSlider.gameObject.SetActive(true); float ratio = (float)CurrentDataSize.Get() / TotalDataSize.Get(); _progressSlider.value = ratio; _progressText.text = $"{StringUtility.ByteCountRatioToReadableString(CurrentDataSize.Get(), TotalDataSize.Get())} ({round(ratio * 100)}%)"; } } }