/*--------------------------------------------------------------------------------------------*/
        public virtual void Update()
        {
            vMainAlpha = UiSelectRenderer.GetArcAlpha(vArcState) * vAnimAlpha;

            if (!vSegState.NavItem.IsEnabled)
            {
                vMainAlpha *= 0.333f;
            }

            float easedVal   = GetEasedValue(vNavSlider.Value, vNavSlider.SnappedValue);
            float easedHover = (vNavSlider.HoverValue == null ? easedVal :
                                GetEasedValue((float)vNavSlider.HoverValue, (float)vNavSlider.HoverSnappedValue));
            float hoverArcHalf = 0;

            Color colTrack = vSettings.SliderTrackColor;
            Color colFill  = vSettings.SliderFillColor;
            Color colTick  = vSettings.SliderTickColor;

            colTrack.a *= vMainAlpha;
            colFill.a  *= vMainAlpha;
            colTick.a  *= vMainAlpha;

            vTrackA.UpdateBackground(colTrack);
            vTrackB.UpdateBackground(colTrack);
            vFillA.UpdateBackground(colFill);
            vFillB.UpdateBackground(colFill);
            vTickMat.color = colTick;

            float slideDeg = vSlideDegree0 + vSlideDegrees * easedVal;

            vGrabHold.transform.localRotation = Quaternion.AngleAxis(slideDeg, Vector3.up);

            if (vNavSlider.HoverSnappedValue != null)
            {
                slideDeg = vSlideDegree0 + vSlideDegrees * easedHover;
                vHoverHold.transform.localRotation = Quaternion.AngleAxis(slideDeg, Vector3.up);

                float high   = vSegState.HighlightProgress;
                float select = 1 - (float)Math.Pow(1 - vSegState.SelectionProgress, 1.5f);

                Color colBg   = vSettings.BackgroundColor;
                Color colHigh = vSettings.HighlightColor;
                Color colSel  = vSettings.SelectionColor;

                colBg.a   *= high * vMainAlpha;
                colHigh.a *= high * vMainAlpha;
                colSel.a  *= select * vMainAlpha;

                vHover.UpdateBackground(colBg);
                vHover.UpdateHighlight(colHigh, high);
                vHover.UpdateSelect(colSel, select);

                hoverArcHalf = vGrabArcHalf * high * 0.333f - UiSlice.AngleInset;
            }

            UpdateMeshes(easedVal, easedHover, hoverArcHalf);
        }
        /*--------------------------------------------------------------------------------------------*/
        public virtual void Update()
        {
            vMainAlpha = GetArcAlpha(vArcState) * vAnimAlpha;

            if (!vSegState.NavItem.IsEnabled)
            {
                vMainAlpha *= 0.333f;
            }

            float high = vSegState.HighlightProgress;
            float edge = (vSegState.IsNearestHighlight && !vSegState.IsSelectionPrevented &&
                          vSegState.NavItem.AllowSelection ? high : 0);
            float select      = 1 - (float)Math.Pow(1 - vSegState.SelectionProgress, 1.5f);
            float selectAlpha = select;

            if (vSegState.NavItem.IsStickySelected)
            {
                selectAlpha = 1;
            }

            Color colBg   = vSettings.BackgroundColor;
            Color colEdge = vSettings.EdgeColor;
            Color colHigh = vSettings.HighlightColor;
            Color colSel  = vSettings.SelectionColor;

            colBg.a   *= vMainAlpha;
            colEdge.a *= edge * vMainAlpha;
            colHigh.a *= high * vMainAlpha;
            colSel.a  *= selectAlpha * vMainAlpha;

            vSlice.UpdateBackground(colBg);
            vSlice.UpdateEdge(colEdge);
            vSlice.UpdateHighlight(colHigh, high);
            vSlice.UpdateSelect(colSel, select);

            vLabel.Alpha    = vMainAlpha;
            vLabel.FontName = vSettings.TextFont;
            vLabel.FontSize = vSettings.TextSize;
            vLabel.Color    = vSettings.TextColor;
            vLabel.Label    = vSegState.NavItem.Label;
        }