public void OnSendButtonPressed() { titleText.text = inputField.text; inputField.text = ""; string emojiCOde = ""; int index = 0; if (emojisOnScene.Count > 0) { for (int k = 0; k < emojisOnScene.Count; k++) { Destroy(emojisOnScene[k]); } emojisOnScene.Clear(); } EmojiName emojiName = EmojiName.happyFace; if (titleText.text.Contains("<sprite=")) { int totalEmojiInText = Regex.Matches(titleText.text, "<sprite=").Count; for (int j = 0; j < totalEmojiInText; j++) { for (int i = 0; i < titleText.text.Length; i++) { if (titleText.text[i] == '<' && titleText.text[i + 1] == 's' && titleText.text[i + 2] == 'p') { index = i; break; } } emojiCOde = titleText.text.Substring(index, 10); for (int l = 0; l < emojiInfos.Count; l++) { if (emojiInfos[l].emojiCode == emojiCOde) { emojiName = emojiInfos[l].emojiName; emoji = emojiInfos[l].emojiPrefab; } } LetterPositionTracker.Instance.charIndex = index + 1 - SpaceCounterInString(index); LetterPositionTracker.Instance.FindPos(); titleText.text = titleText.text.Remove(titleText.text.IndexOf(emojiCOde), emojiCOde.Length).Insert(titleText.text.IndexOf(emojiCOde), " "); } } }
public IEnumerator ShowEmoji() { string emojiCOde = ""; int index = 0; EmojiName emojiName = EmojiName.happyFace; yield return(new WaitForSeconds(0)); //RecordCenterPositionOfEveryLetter(); int totalEmojiInText = Regex.Matches(titleText.text, "<sprite=").Count; for (int j = 0; j < totalEmojiInText; j++) { for (int i = 0; i < titleText.text.Length; i++) { if (titleText.text[i] == '<' && titleText.text[i + 1] == 's' && titleText.text[i + 2] == 'p') { index = i; break; } } emojiCOde = titleText.text.Substring(index, 10); for (int l = 0; l < emojiInfos.Count; l++) { if (emojiInfos[l].emojiCode == emojiCOde) { emojiName = emojiInfos[l].emojiName; emoji = emojiInfos[l].emojiPrefab; } } Vector3 bottomRightPosition = titleText.textInfo.characterInfo[index].bottomRight; Vector3 bottomLeftPosition = titleText.textInfo.characterInfo[index].bottomLeft; Vector3 topRightPosition = titleText.textInfo.characterInfo[index].topRight; Vector3 topLeftosition = titleText.textInfo.characterInfo[index].topLeft; float centerX = (bottomLeftPosition.x + topRightPosition.x) / 2; float centerY = (bottomLeftPosition.y + topRightPosition.y) / 2; Vector3 centerPosition = new Vector3(centerX, centerY, titleText.transform.position.z); LoadPrefab(centerPosition); titleText.text = titleText.text.Remove(titleText.text.IndexOf(emojiCOde), emojiCOde.Length).Insert(titleText.text.IndexOf(emojiCOde), " "); titleText.ForceMeshUpdate(); } }