summaryrefslogtreecommitdiff
path: root/Playground/Assets/TextMesh Pro/Examples & Extras/Scripts/TMP_TextEventCheck.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Playground/Assets/TextMesh Pro/Examples & Extras/Scripts/TMP_TextEventCheck.cs')
-rw-r--r--Playground/Assets/TextMesh Pro/Examples & Extras/Scripts/TMP_TextEventCheck.cs73
1 files changed, 73 insertions, 0 deletions
diff --git a/Playground/Assets/TextMesh Pro/Examples & Extras/Scripts/TMP_TextEventCheck.cs b/Playground/Assets/TextMesh Pro/Examples & Extras/Scripts/TMP_TextEventCheck.cs
new file mode 100644
index 0000000..abbe658
--- /dev/null
+++ b/Playground/Assets/TextMesh Pro/Examples & Extras/Scripts/TMP_TextEventCheck.cs
@@ -0,0 +1,73 @@
+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.");
+ }
+
+ }
+}