Files
UltimateFishing/Assets/Scripts/Assembly-CSharp/GUIObjectSound.cs
2026-02-21 16:45:37 +08:00

69 lines
1.3 KiB
C#

using UnityEngine;
using UnityEngine.EventSystems;
using UnityEngine.UI;
public class GUIObjectSound : MonoBehaviour, IPointerEnterHandler, IPointerExitHandler, IPointerDownHandler, IPointerUpHandler, IPointerClickHandler, ISubmitHandler, ISelectHandler, IEventSystemHandler
{
public string soundEnter = "btn_hover";
public string soundClick = "btn_pressed";
public bool clickSoundOnPointerUp;
private Selectable selectable;
public bool isMouseOver;
private void Awake()
{
selectable = GetComponent<Selectable>();
}
public void OnPointerEnter(PointerEventData eventData)
{
if (selectable.interactable)
{
AudioController.Play(soundEnter);
}
isMouseOver = true;
}
public void OnPointerExit(PointerEventData eventData)
{
isMouseOver = false;
}
public void OnPointerDown(PointerEventData eventData)
{
}
public void OnPointerUp(PointerEventData eventData)
{
if (clickSoundOnPointerUp && selectable.interactable)
{
AudioController.Play(soundClick);
}
}
public void OnPointerClick(PointerEventData eventData)
{
if (!clickSoundOnPointerUp && selectable.interactable)
{
AudioController.Play(soundClick);
}
}
public void OnSelect(BaseEventData eventData)
{
if (!isMouseOver)
{
AudioController.Play(soundEnter);
}
}
public void OnSubmit(BaseEventData eventData)
{
AudioController.Play(soundClick);
}
}