public void StartTimer() { // Check if timer is running if (!_attemptExecutionTime.IsRunning) { _attemptExecutionTime.Start(); } _attemptExecutionTimeInt = Mathf.FloorToInt(_attemptExecutionTime.ElapsedMilliseconds * 0.001f); _lastAttemptExecutionTime = _attemptExecutionTime.ElapsedMilliseconds * 0.001f; // Update timer within progress circle counterText.text = _attemptExecutionTimeInt.ToString(); // Update progress circle imageRingTime.fillAmount = _attemptExecutionTime.ElapsedMilliseconds * 0.001f / (UserDataObject.GetCurrentRepetition().minTime); if (imageRingTime.fillAmount >= 1.0) { ChangeColor(green); } else if (imageRingTime.fillAmount > 0.66) { ChangeColor(yellow); } else if (imageRingTime.fillAmount > 0.33) { ChangeColor(darkOrange); } }