ソースコード
using TMPro;
using UnityEngine;
using UnityEngine.EventSystems;
[DisallowMultipleComponent]
[RequireComponent( typeof( TMP_Text ) )]
internal sealed class Example :
MonoBehaviour,
IPointerClickHandler
{
[SerializeField] private TMP_Text m_text;
[SerializeField] private Camera m_camera;
void IPointerClickHandler.OnPointerClick( PointerEventData eventData )
{
var index = TMP_TextUtilities.FindIntersectingLink
(
text: m_text,
position: eventData.position,
camera: m_camera
);
if ( index == -1 ) return;
var linkInfo = m_text.textInfo.linkInfo[ index ];
var linkText = linkInfo.GetLinkText();
var linkId = linkInfo.GetLinkID();
Debug.Log( linkText );
Debug.Log( linkId );
}
}