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); } }