diff options
Diffstat (limited to 'Pathfinding Visualizer/Assets/TextMesh Pro/Examples & Extras/Scripts/ChatController.cs')
| -rw-r--r-- | Pathfinding Visualizer/Assets/TextMesh Pro/Examples & Extras/Scripts/ChatController.cs | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/Pathfinding Visualizer/Assets/TextMesh Pro/Examples & Extras/Scripts/ChatController.cs b/Pathfinding Visualizer/Assets/TextMesh Pro/Examples & Extras/Scripts/ChatController.cs new file mode 100644 index 0000000..2915c96 --- /dev/null +++ b/Pathfinding Visualizer/Assets/TextMesh Pro/Examples & Extras/Scripts/ChatController.cs @@ -0,0 +1,51 @@ +using UnityEngine; +using UnityEngine.UI; +using TMPro; + +public class ChatController : MonoBehaviour { + + + public TMP_InputField ChatInputField; + + public TMP_Text ChatDisplayOutput; + + public Scrollbar ChatScrollbar; + + void OnEnable() + { + ChatInputField.onSubmit.AddListener(AddToChatOutput); + } + + void OnDisable() + { + ChatInputField.onSubmit.RemoveListener(AddToChatOutput); + } + + + void AddToChatOutput(string newText) + { + // Clear Input Field + ChatInputField.text = string.Empty; + + var timeNow = System.DateTime.Now; + + string formattedInput = "[<#FFFF80>" + timeNow.Hour.ToString("d2") + ":" + timeNow.Minute.ToString("d2") + ":" + timeNow.Second.ToString("d2") + "</color>] " + newText; + + if (ChatDisplayOutput != null) + { + // No special formatting for first entry + // Add line feed before each subsequent entries + if (ChatDisplayOutput.text == string.Empty) + ChatDisplayOutput.text = formattedInput; + else + ChatDisplayOutput.text += "\n" + formattedInput; + } + + // Keep Chat input field active + ChatInputField.ActivateInputField(); + + // Set the scrollbar to the bottom when next text is submitted. + ChatScrollbar.value = 0; + } + +} |
