56 lines
1.3 KiB
C#
56 lines
1.3 KiB
C#
using UnityEngine;
|
|
using TMPro;
|
|
using BrewMonster.Network;
|
|
using CSNetwork.GPDataType;
|
|
using EditorAttributes;
|
|
|
|
namespace BrewMonster.Scripts.ChatUI
|
|
{
|
|
public class ChatInputHandler : MonoBehaviour
|
|
{
|
|
[Header("UI References")]
|
|
public TMP_InputField inputField; // Ô gõ text
|
|
|
|
private void Start()
|
|
{
|
|
inputField.onSubmit.AddListener(OnSubmit);
|
|
}
|
|
|
|
private void OnDestroy()
|
|
{
|
|
inputField.onSubmit.RemoveListener(OnSubmit);
|
|
}
|
|
|
|
// Khi nhấn Enter
|
|
private void OnSubmit(string text)
|
|
{
|
|
if (string.IsNullOrWhiteSpace(text))
|
|
return;
|
|
|
|
HandleUserInput(text);
|
|
}
|
|
|
|
// Hàm xử lý input (gửi server)
|
|
private void HandleUserInput(string text)
|
|
{
|
|
UnityGameSession.SendChatData(
|
|
(byte)ChatChannel.GP_CHAT_LOCAL,
|
|
text,
|
|
0,
|
|
0
|
|
);
|
|
|
|
// reset input
|
|
inputField.text = "";
|
|
inputField.ActivateInputField(); // focus lại để tiếp tục gõ
|
|
}
|
|
|
|
public void Send(string text)
|
|
{
|
|
if (string.IsNullOrWhiteSpace(text))
|
|
return;
|
|
|
|
HandleUserInput(text);
|
|
}
|
|
}
|
|
} |