using System; using BrewMonster; using UnityEngine; using UnityEngine.UI; using TMPro; using BrewMonster.Network; using CSNetwork; using CSNetwork.GPDataType; using EditorAttributes; public class ChatInputHandler : MonoSingleton { [Header("UI References")] public TMP_InputField inputField; // Ô gõ text public Button sendButton; // Nút gửi private void Start() { /*// Lắng nghe khi nhấn nút gửi //sendButton.onClick.AddListener(OnSendClicked); // Lắng nghe phím Enter inputField.onSubmit.AddListener(OnSubmit);*/ EventBus.Subscribe(OnSubmit); DontDestroyOnLoad(gameObject); } private void OnDestroy() { EventBus.Unsubscribe(OnSubmit); } // Khi nhấn Enter private void OnSubmit(GameSession.ChatMessageEvent text) { Debug.Log("[Cuong] receiver chat:" + text); /*if (!string.IsNullOrWhiteSpace(text.context)) { HandleUserInput(text.context); }*/ } // Khi nhấn nút Gửi private void OnSendClicked() { string text = inputField.text; if (!string.IsNullOrWhiteSpace(text)) { HandleUserInput(text); } } // Hàm xử lý input (log ra, gửi server, thêm vào chat UI, ...) private void HandleUserInput(string text) { Debug.Log("Người dùng vừa gõ: " + text); // TODO: xử lý text (ví dụ: thêm vào chat box, gửi network,...) UnityGameSession.SendChatData((byte)ChatChannel.GP_CHAT_LOCAL, text,0,0); // Reset input inputField.text = ""; inputField.ActivateInputField(); // focus lại để tiếp tục gõ } [Button] public void Send(string text) { Debug.Log("Người dùng vừa gõ: " + text); // TODO: xử lý text (ví dụ: thêm vào chat box, gửi network,...) UnityGameSession.SendChatData((byte)ChatChannel.GP_CHAT_LOCAL, text,0,0); Debug.Log("[Cuong] send ChatChannel:" + (byte)ChatChannel.GP_CHAT_LOCAL); Debug.Log("[Cuong] send ChatChannel:" + ChatChannel.GP_CHAT_LOCAL); } }