////REVIEW: could have a monitor path where if there's multiple state monitors on the same control with //// the same listener, the monitor is notified only once but made aware of the multiple triggers namespace UnityEngine.InputSystem.LowLevel { /// /// Interface used to monitor input system state changes. /// /// /// Use to install a state change monitor receiving state change /// callbacks for a specific control. /// /// public interface IInputStateChangeMonitor { /// /// Called when the state monitored by a state change monitor has been modified. /// /// Control that is being monitored by the state change monitor and that had its state /// memory changed. /// /// If the state change was initiated by a state event, this is the pointer to the event. /// Otherwise it is null. /// void NotifyControlStateChanged(InputControl control, double time, InputEventPtr eventPtr, long monitorIndex); /// /// Called when a timeout set on a state change monitor has expired. /// /// /// /// /// /// void NotifyTimerExpired(InputControl control, double time, long monitorIndex, int timerIndex); } }