mirror of
				https://github.com/DerTyp7/defrain-shooter-unity.git
				synced 2025-10-31 05:27:07 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			52 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
			
		
		
	
	
			52 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
| 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;
 | |
|     }
 | |
| 
 | |
| }
 | 
