public void Init(WorkoutPlayerController controller, int totalSets)
    {
        _controller = controller;

        Clear();

        _setDisplaySegments = new List <SetsDisplaySegment> ();

        bool shouldShowWord = false;

        if (totalSets < 6)
        {
            shouldShowWord = true;
        }

        for (int i = 0; i < totalSets; i++)
        {
            SetsDisplaySegment newSetDisplaySegment = Instantiate(_setDisplaySegmentPrefab, _segmentParent);
            newSetDisplaySegment.Init(i + 1, shouldShowWord);
            _setDisplaySegments.Add(newSetDisplaySegment);
        }

        _completeLabel.color   = ColorManager.Instance.ActiveColorLight;
        _introTimerText.color  = ColorManager.Instance.ActiveColorLight;
        _radialFill.color      = ColorManager.Instance.ActiveColorLight;
        _radialFillBG.color    = ColorManager.Instance.ActiveColorDark;
        _radialFillInner.color = Color.black;
    }
    public void ShowSetActive(int setNumber)
    {
        if (setNumber > _setDisplaySegments.Count)
        {
            MarkAllSetsComplete();
            return;
        }
        else
        {
            HideCompleteTextLabel();
            foreach (SetsDisplaySegment segment in _setDisplaySegments)
            {
                segment.ShowTextLabel();
            }
        }

        for (int i = 0; i < setNumber; i++)
        {
            _setDisplaySegments [i].ShowAsComplete();
        }

        for (int i = _setDisplaySegments.Count; i > setNumber; i--)
        {
            _setDisplaySegments [i - 1].ShowAsIncomplete();
        }

        _activeSetDisplaySegment = _setDisplaySegments [setNumber - 1];
        _activeSetDisplaySegment.StartGlowing();
        _activeSetDisplaySegment.LightUpText();

        if (_controller.initialSecondsBetweenExercises > 0 && setNumber == 1)
        {
            StartIntroTimer();
        }
        else
        {
            StopIntroTimer();
        }
    }