using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; using UnityEngine.EventSystems; using System; using UnityEngine.Events; public class CustomSlider : Slider { private SliderStartEvent m_OnValueStartChanged = new SliderStartEvent(); [Serializable] /// /// Event type used by the UI.Slider. /// public class SliderStartEvent : UnityEvent { } public SliderStartEvent onValueStartChanged { get { return m_OnValueStartChanged; } set { m_OnValueStartChanged = value; } } private SliderEndEvent m_OnValueEndChanged = new SliderEndEvent(); [Serializable] /// /// Event type used by the UI.Slider. /// public class SliderEndEvent : UnityEvent { } public SliderEndEvent onValueEndChanged { get { return m_OnValueEndChanged; } set { m_OnValueEndChanged = value; } } public override void OnPointerDown(PointerEventData eventData) { base.OnPointerDown(eventData); onValueStartChanged?.Invoke(); } public override void OnPointerUp(PointerEventData eventData) { base.OnPointerUp(eventData); onValueEndChanged?.Invoke(); } }