Files
aibis-dream/Assets/Scripts/Mouse/DialogueInteractable.cs
T
2024-10-31 15:26:19 +08:00

44 lines
1.2 KiB
C#

using AibisDream;
using UnityEngine;
using UnityEngine.EventSystems;
using Yarn.Unity;
public class DialogueInteractable : MonoBehaviour, IPointerEnterHandler, IPointerExitHandler, IPointerClickHandler
{
public Texture2D hoverCursor; // 鼠标悬停时的光标
public void OnPointerEnter(PointerEventData eventData)
{
// 通知管理器设置光标
DialogueManager.Instance.OnInteractableHover(this, true);
}
public void OnPointerExit(PointerEventData eventData)
{
// 通知管理器重置光标
DialogueManager.Instance.OnInteractableHover(this, false);
}
public void OnPointerClick(PointerEventData eventData)
{
// 通知管理器尝试触发对话
DialogueManager.Instance.TryTriggerDialogue(this);
}
private void OnMouseEnter()
{
// 用于处理 Sprite 的悬停事件
DialogueManager.Instance.OnInteractableHover(this, true);
}
private void OnMouseExit()
{
// 用于处理 Sprite 的离开事件
DialogueManager.Instance.OnInteractableHover(this, false);
}
private void OnMouseDown()
{
// 用于处理 Sprite 的点击事件
DialogueManager.Instance.TryTriggerDialogue(this);
}
}