using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.Events; using UnityEngine.InputSystem; public class OnButtonPress : MonoBehaviour { [Tooltip("Actions to check")] public InputAction actionA = null; public UnityEvent OnPressA = new UnityEvent(); public InputAction actionB = null; public UnityEvent OnPressB = new UnityEvent(); public InputAction actionX = null; public UnityEvent OnPressX = new UnityEvent(); public InputAction actionY = null; public UnityEvent OnPressY = new UnityEvent(); private void Awake() { actionA.started += ButtonAPressed; actionB.started += ButtonBPressed; actionX.started += ButtonXPressed; actionY.started += ButtonYPressed; } private void OnDestroy() { actionA.started -= ButtonAPressed; actionB.started -= ButtonBPressed; actionX.started -= ButtonXPressed; actionY.started -= ButtonYPressed; } private void OnEnable() { actionA.Enable(); actionB.Enable(); actionX.Enable(); actionY.Enable(); } private void OnDisable() { actionA.Disable(); actionB.Disable(); actionX.Disable(); actionY.Disable(); } private void ButtonAPressed(InputAction.CallbackContext context) { OnPressA.Invoke(); } private void ButtonBPressed(InputAction.CallbackContext context) { OnPressB.Invoke(); } private void ButtonXPressed(InputAction.CallbackContext context) { OnPressX.Invoke(); } private void ButtonYPressed(InputAction.CallbackContext context) { OnPressY.Invoke(); } }