37 lines
1.2 KiB
C#
37 lines
1.2 KiB
C#
using UnityEngine;
|
|
using UnityEngine.EventSystems;
|
|
using UnityEngine.UI;
|
|
|
|
namespace AlicizaX.UI.Extension.UXComponent
|
|
{
|
|
public class TestUI : UXSelectable
|
|
{
|
|
private float maxSliderValue;
|
|
private float minSliderValue;
|
|
[SerializeField] private Slider _slider;
|
|
|
|
private float sliderRange;
|
|
|
|
[SerializeField] private float SLIDERSTEP = 100.0f; //used to
|
|
|
|
protected override void Awake()
|
|
{
|
|
base.Awake();
|
|
maxSliderValue = _slider.maxValue;
|
|
minSliderValue = _slider.minValue;
|
|
sliderRange = maxSliderValue - minSliderValue;
|
|
}
|
|
|
|
public override void OnMove(AxisEventData eventData)
|
|
{
|
|
if (eventData.moveDir == MoveDirection.Left || eventData.moveDir == MoveDirection.Right)
|
|
{
|
|
float sliderChange = eventData.moveDir == MoveDirection.Right ? 1 * (sliderRange / SLIDERSTEP) : -1 * (sliderRange / SLIDERSTEP);
|
|
float tempValue = _slider.value + sliderChange;
|
|
_slider.value = Mathf.Clamp(tempValue, minSliderValue, maxSliderValue);
|
|
Debug.Log(_slider.value );
|
|
}
|
|
}
|
|
}
|
|
}
|