#if PACKAGE_DOCS_GENERATION || UNITY_INPUT_SYSTEM_ENABLE_UI using System; using UnityEngine.EventSystems; using UnityEngine.InputSystem.Layouts; ////TODO: custom icon for OnScreenButton component namespace UnityEngine.InputSystem.OnScreen { /// /// A button that is visually represented on-screen and triggered by touch or other pointer /// input. /// [AddComponentMenu("Input/On-Screen Button")] [HelpURL(InputSystem.kDocUrl + "/manual/OnScreen.html#on-screen-buttons")] public class OnScreenButton : OnScreenControl, IPointerDownHandler, IPointerUpHandler { public void OnPointerUp(PointerEventData eventData) { SendValueToControl(0.0f); } public void OnPointerDown(PointerEventData eventData) { SendValueToControl(1.0f); } ////TODO: pressure support /* /// /// If true, the button's value is driven from the pressure value of touch or pen input. /// /// /// This essentially allows having trigger-like buttons as on-screen controls. /// [SerializeField] private bool m_UsePressure; */ [InputControl(layout = "Button")] [SerializeField] private string m_ControlPath; protected override string controlPathInternal { get => m_ControlPath; set => m_ControlPath = value; } } } #endif