12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 |
-
- namespace NRKernal
- {
- using System;
- using UnityEngine;
- using UnityEngine.UI;
- using UnityEngine.EventSystems;
-
- public class NRButton : MonoBehaviour, IPointerDownHandler, IPointerUpHandler
- {
-
- public Sprite ImageNormal;
-
- public Sprite ImageHover;
-
- public Action<string, GameObject, RaycastResult> TriggerEvent;
-
- public const string Enter = "Enter";
-
- public const string Hover = "Hover";
-
- public const string Exit = "Exit";
-
- private Image m_ButtonImage;
-
- void Start()
- {
- m_ButtonImage = gameObject.GetComponent<Image>();
- }
-
-
- public void OnPointerDown(PointerEventData eventData)
- {
- if (TriggerEvent != null)
- {
- TriggerEvent(Enter, gameObject, eventData.pointerCurrentRaycast);
- }
- if (ImageHover != null && m_ButtonImage != null)
- {
- m_ButtonImage.sprite = ImageHover;
- }
- }
-
-
- public void OnPointerUp(PointerEventData eventData)
- {
- if (TriggerEvent != null)
- {
- TriggerEvent(Exit, gameObject, eventData.pointerCurrentRaycast);
- }
- if (ImageNormal != null && m_ButtonImage != null)
- {
- m_ButtonImage.sprite = ImageNormal;
- }
- }
-
-
- public void OnHover(RaycastResult racastResult)
- {
- if (TriggerEvent != null && m_ButtonImage != null)
- {
- TriggerEvent(Hover, gameObject, racastResult);
- }
- }
- }
- }
|