/*--------------------------------------------------------------------------------------------*/ public virtual void Update() { vMainAlpha = UiItemSelectRenderer.GetArcAlpha(vMenuState) * vAnimAlpha; if (!vSliderItem.IsEnabled || !vSliderItem.IsAncestryEnabled) { vMainAlpha *= 0.333f; } const int easePower = 3; int snaps = vSliderItem.Snaps; float easedVal = DisplayUtil.GetEasedValue( snaps, vSliderItem.Value, vSliderItem.SnappedValue, easePower); float easedHover = easedVal; float hoverArc = 0; if (vSliderItem.HoverValue != null) { easedHover = DisplayUtil.GetEasedValue(snaps, (float)vSliderItem.HoverValue, (float)vSliderItem.HoverSnappedValue, easePower); } Color colTrack = vSettings.SliderTrackColor; Color colFill = vSettings.SliderFillColor; Color colTick = vSettings.SliderTickColor; colTrack.a *= vMainAlpha; colFill.a *= vMainAlpha; colTick.a *= vMainAlpha; vTrack.SetColors(colTrack, colFill); if (vTickMeshBuilder != null) { vTickMeshBuilder.CommitColors(colTick); } //// float slideDeg = vSlideDegree0 + vSlideDegrees * easedVal; vGrabHold.transform.localRotation = Quaternion.AngleAxis(slideDeg, Vector3.up); if (vSliderItem.HoverValue != null) { slideDeg = vSlideDegree0 + vSlideDegrees * easedHover; vHoverHold.transform.localRotation = Quaternion.AngleAxis(slideDeg, Vector3.up); float high = vItemState.MaxHighlightProgress; float select = 1 - (float)Math.Pow(1 - vItemState.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); hoverArc = vGrabArc * high * HoverBarRelW; } UpdateMeshes(easedVal, easedHover, hoverArc); }