Files
FueraDeEscala/Assets/Game Kit Controller/Scripts/Input/touchButtonEventSystem.cs
Robii Aragon 779f2c8b20 add ckg
plantilla base para movimiento básico
2026-02-05 05:07:55 -08:00

71 lines
1.2 KiB
C#

using UnityEngine;
using UnityEngine.Events;
using UnityEngine.EventSystems;
using System.Collections;
using UnityEngine.UI;
using System;
[System.Serializable]
//System to use touch buttons to check if the button is being pressing or released
public class touchButtonEventSystem : MonoBehaviour, IPointerDownHandler, IPointerUpHandler
{
[Header ("Main Settings")]
[Space]
public bool eventEnabled;
[Space]
[Header ("Debug")]
[Space]
public bool buttonPressed;
[Space]
[Header ("Events Settings")]
[Space]
public UnityEvent eventOnPressDown;
public UnityEvent eventOnPressUp;
//if you press the button
public void OnPointerDown (PointerEventData eventData)
{
if (eventEnabled) {
eventOnPressDown.Invoke ();
buttonPressed = true;
}
}
//if you release the button
public void OnPointerUp (PointerEventData eventData)
{
if (eventEnabled) {
eventOnPressUp.Invoke ();
buttonPressed = false;
}
}
public void setEventEnabledState (bool state)
{
eventEnabled = state;
if (buttonPressed) {
eventOnPressUp.Invoke ();
buttonPressed = false;
}
}
//if the button is disabled, reset the button
void OnDisable ()
{
if (eventEnabled && buttonPressed) {
eventOnPressUp.Invoke ();
buttonPressed = false;
}
}
}