TextLink.cs 637 B

12345678910111213141516171819202122232425
  1. using UnityEngine;
  2. using UnityEngine.EventSystems;
  3. using TMPro;
  4. [RequireComponent(typeof(TMP_Text))]
  5. public class TextLink : MonoBehaviour, IPointerClickHandler
  6. {
  7. private TMP_Text _text;
  8. private void Awake()
  9. {
  10. _text = GetComponent<TMP_Text>();
  11. }
  12. public void OnPointerClick(PointerEventData eventData)
  13. {
  14. int linkIndex = TMP_TextUtilities.FindIntersectingLink(_text, eventData.position, Camera.main);
  15. if (linkIndex != -1)
  16. {
  17. TMP_LinkInfo linkInfo = _text.textInfo.linkInfo[linkIndex];
  18. PlayLog.OnLinkPressed?.Invoke(linkInfo.GetLinkID());
  19. }
  20. }
  21. }