| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 | using UnityEngine;namespace TMPro.Examples{    public class TMP_TextEventCheck : MonoBehaviour    {        public TMP_TextEventHandler TextEventHandler;        private TMP_Text m_TextComponent;        void OnEnable()        {            if (TextEventHandler != null)            {                // Get a reference to the text component                m_TextComponent = TextEventHandler.GetComponent<TMP_Text>();                                TextEventHandler.onCharacterSelection.AddListener(OnCharacterSelection);                TextEventHandler.onSpriteSelection.AddListener(OnSpriteSelection);                TextEventHandler.onWordSelection.AddListener(OnWordSelection);                TextEventHandler.onLineSelection.AddListener(OnLineSelection);                TextEventHandler.onLinkSelection.AddListener(OnLinkSelection);            }        }        void OnDisable()        {            if (TextEventHandler != null)            {                TextEventHandler.onCharacterSelection.RemoveListener(OnCharacterSelection);                TextEventHandler.onSpriteSelection.RemoveListener(OnSpriteSelection);                TextEventHandler.onWordSelection.RemoveListener(OnWordSelection);                TextEventHandler.onLineSelection.RemoveListener(OnLineSelection);                TextEventHandler.onLinkSelection.RemoveListener(OnLinkSelection);            }        }        void OnCharacterSelection(char c, int index)        {            Debug.Log("Character [" + c + "] at Index: " + index + " has been selected.");        }        void OnSpriteSelection(char c, int index)        {            Debug.Log("Sprite [" + c + "] at Index: " + index + " has been selected.");        }        void OnWordSelection(string word, int firstCharacterIndex, int length)        {            Debug.Log("Word [" + word + "] with first character index of " + firstCharacterIndex + " and length of " + length + " has been selected.");        }        void OnLineSelection(string lineText, int firstCharacterIndex, int length)        {            Debug.Log("Line [" + lineText + "] with first character index of " + firstCharacterIndex + " and length of " + length + " has been selected.");        }        void OnLinkSelection(string linkID, string linkText, int linkIndex)        {            if (m_TextComponent != null)            {                TMP_LinkInfo linkInfo = m_TextComponent.textInfo.linkInfo[linkIndex];            }                        Debug.Log("Link Index: " + linkIndex + " with ID [" + linkID + "] and Text \"" + linkText + "\" has been selected.");        }    }}
 |