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(); } }