/*--------------------------------------------------------------------------------------------*/ public virtual void Update() { vMainAlpha = UiItemSelectRenderer.GetArcAlpha(vMenuState) * vAnimAlpha; if (!vItemState.Item.IsEnabled || !vItemState.Item.AreParentsEnabled) { vMainAlpha *= 0.333f; } float easedVal = GetEasedValue(vSliderItem.Value, vSliderItem.SnappedValue); float easedHover = (vSliderItem.HoverValue == null ? easedVal : GetEasedValue((float)vSliderItem.HoverValue, (float)vSliderItem.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 (vSliderItem.HoverSnappedValue != 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); hoverArcHalf = vGrabArcHalf * high * 0.333f - UiHoverMeshSlice.AngleInset; } UpdateMeshes(easedVal, easedHover, hoverArcHalf); }
/*--------------------------------------------------------------------------------------------*/ public virtual void Update() { vMainAlpha = GetArcAlpha(vMenuState) * vAnimAlpha; if (!vItemState.Item.IsEnabled || !vItemState.Item.AreParentsEnabled) { vMainAlpha *= 0.333f; } ISelectableItem selItem = (vItemState.Item as ISelectableItem); float high = vItemState.MaxHighlightProgress; bool showEdge = (vItemState.IsNearestHighlight && !vItemState.IsSelectionPrevented && selItem != null && selItem.AllowSelection); float edge = (showEdge ? high : 0); float select = 1 - (float)Math.Pow(1 - vItemState.SelectionProgress, 1.5f); float selectAlpha = select; if (selItem != null && selItem.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; vHoverSlice.UpdateBackground(colBg); vHoverSlice.UpdateEdge(colEdge); vHoverSlice.UpdateHighlight(colHigh, high); vHoverSlice.UpdateSelect(colSel, select); if (vSettings.TextSize != vLabel.FontSize) { vLabel.SetSize(ArcCanvasThickness * ArcCanvasScale, vSettings.TextSize * 1.5f * ArcCanvasScale, ArcCanvasScale); } vLabel.Alpha = vMainAlpha; vLabel.FontName = vSettings.TextFont; vLabel.FontSize = vSettings.TextSize; vLabel.Color = vSettings.TextColor; vLabel.Label = vItemState.Item.Label; }
/*--------------------------------------------------------------------------------------------*/ public virtual void Update() { float high = vItemState.MaxHighlightProgress; bool showEdge = DisplayUtil.IsEdgeVisible(vItemState); float edge = (showEdge ? high : 0); float select = vItemState.SelectionProgress; float alpha = Math.Max(0, 1 - (float)Math.Pow(1 - vMenuState.DisplayStrength, 2)); float enabledAnimProg = GetEnabledAnimProgress(); if (vSelItem.IsEnabled && vMenuState.NavBackStrength > select) { select = vMenuState.NavBackStrength; edge = select; } select = 1 - (float)Math.Pow(1 - select, 1.5f); Color colBg = vSettings.BackgroundColor; Color colEdge = vSettings.EdgeColor; Color colHigh = vSettings.HighlightColor; Color colSel = vSettings.SelectionColor; Color colIcon = vSettings.ArrowIconColor; colBg.a *= alpha * Mathf.Lerp(0.333f, 1, enabledAnimProg); colEdge.a *= edge * alpha; colHigh.a *= high * alpha; colSel.a *= select * alpha; colIcon.a *= (vItemState.MaxHighlightProgress * 0.75f + 0.25f) * alpha * enabledAnimProg; vHoverSlice.UpdateBackground(colBg); vHoverSlice.UpdateEdge(colEdge); vHoverSlice.UpdateHighlight(colHigh, high); vHoverSlice.UpdateSelect(colSel, select); vIconMeshBuilder.CommitColors(colIcon); vIcon.transform.localScale = Vector3.one * vSettings.TextSize * 0.75f * UiItemSelectRenderer.ArcCanvasScale; }
/*--------------------------------------------------------------------------------------------*/ 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); }