This repository has been archived on 2026-01-20. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
SH-INT/Assets/Scripts/UI_Chating.cs
정영민 f4cf556cde update
2025-02-20 10:30:18 +09:00

53 lines
1.5 KiB
C#

using Byn.Unity.Examples;
using System;
using UnityEngine;
using UnityEngine.Events;
using UnityEngine.UI;
namespace SHINT.UI
{
public class UI_Chating : MonoBehaviour
{
InputField MessageInputField;
MessageList uOutput;
Button SendButton;
public string message => MessageInputField.text;
public event Action onClickSend;
public event Action<string> onInputEditEnd;
public void Active()
{
uOutput = GetComponent<MessageList>();
if (uOutput != null)
{
uOutput.gameObject.SetActive(true);
}
SendButton.onClick.AddListener(() => onClickSend?.Invoke());
MessageInputField.onEndEdit.AddListener(InputOnEndEdit);
}
public void InputOnEndEdit(string msg)
{
if (Input.GetKey(KeyCode.Return))
{
onInputEditEnd?.Invoke(MessageInputField.text);
}
}
public void OnSendMessage()
{
MessageInputField.text = "";
//make sure the text box is in focus again so the user can continue typing without clicking it again
//select another element first. without this the input field is in focus after return pressed
SendButton.Select();
MessageInputField.Select();
}
public void Append(string text)
{
Debug.Log(text);
uOutput.AddTextEntry(text);
}
}
}