void Update() { if (inputModule != null && selectables != null) { float horizontal = inputModule.GetAxis(NeverdawnInputAxis.HorizontalLeft); float vertical = inputModule.GetAxis(NeverdawnInputAxis.VerticalLeft); if (inputModule.GetButtonDown(NeverdawnInputButton.Left)) { selectTop(); } if (inputModule.GetButtonDown(NeverdawnInputButton.Right)) { selectBottom(); } if (horizontal > 0.0f && prevHorizontal == 0.0f && Mathf.Abs(horizontal) > Mathf.Abs(vertical)) { selectBottom(); } if (horizontal < 0.0f && prevHorizontal == 0.0f && Mathf.Abs(horizontal) > Mathf.Abs(vertical)) { selectTop(); } if (vertical > 0.0f && prevVertical == 0.0f && Mathf.Abs(horizontal) < Mathf.Abs(vertical)) { selectTop(); } if (vertical < 0.0f && prevVertical == 0.0f && Mathf.Abs(horizontal) < Mathf.Abs(vertical)) { selectBottom(); } prevHorizontal = horizontal; prevVertical = vertical; } if (lerp <= 1.0f) { lerp += Time.deltaTime * scrollSpeed; rectTransform.anchoredPosition = new Vector2(0.0f, Mathf.Lerp(currentScroll, targetScroll, lerp)); } }