eye-therapy-2 / Assets / Scripts / UI / SliderWithEdit.cs
SliderWithEdit.cs
Raw
using UnityEngine;
using UnityEngine.UI;

public class SliderWithEdit : MonoBehaviour
{
    [SerializeField] private Slider slider = null;
    [SerializeField] private InputField input = null;
    [SerializeField] private EVENT_TYPE eventToCall = EVENT_TYPE.DUMMY;

    public void OnParamChanged(float value)
    {
        input.text = value.ToString();
        EventManager.Instance.PostNotification<float>(eventToCall, this, value);
    }

    public void OnParamTyped(string text)
    {
        float d = float.Parse(text);
        if (d > slider.maxValue)
        {
            d = slider.maxValue;
            input.text = d.ToString();
        }
        else if (d < slider.minValue)
        {
            d = slider.minValue;
            input.text = d.ToString();
        }
        slider.value = d;
        EventManager.Instance.PostNotification<float>(eventToCall, this, d);
    }

    public void UpdateParam(float value)
    {
        slider.value = value;
        input.text = value.ToString();
    }
}