메시지 전송
채널에 메시지를 전송하는 방법을 설명합니다.
공개 메시지 전송
ChatManager.Instance.SendPublicMessage() 메서드를 호출하여 특정 채널에 메시지를 전송합니다. 전송된 메시지는 해당 채널의 모든 구독자에게 전달됩니다.
메서드 정보
| 항목 | 내용 |
|---|---|
| 메서드 | ChatManager.Instance.SendPublicMessage(string channel, string text) |
| 콜백 | OnPublicMessage(ChatUserInfo sender, string message) - 메시지 수신 시 호출 |
파라미터
| 파라미터 | 타입 | 설명 |
|---|---|---|
| channel | string | 메시지를 전송할 채널 이름 |
| text | string | 전송할 메시지 내용 |
사용 예제
using UnityEngine;
using UnityEngine.UI;
public class ChatExample : MonoBehaviour, IChatListener
{
public InputField _inputChat;
public Text _textView;
private string myChannel = "Default Channel";
public void SendMessage()
{
ChatManager.Instance.SendPublicMessage(myChannel, _inputChat.text);
_inputChat.text = "";
}
public void OnPublicMessage(ChatUserInfo sender, string message)
{
// 수신한 메시지에 금칙어 필터 적용
Debug.Log($"[{sender.visitorName}] {ChatManager.Instance.Filter(message)}");
_textView.text += $"\n[{sender.visitorName}] {ChatManager.Instance.Filter(message)}";
}
// ... 기타 IChatListener 메서드 구현
}
비공개 메시지 전송 (귓속말)
ChatManager.Instance.SendPrivateMessage() 메서드를 호출하여 특정 사용자에게만 메시지를 전송합니다.
메서드 정보
| 항목 | 내용 |
|---|---|
| 메서드 | ChatManager.Instance.SendPrivateMessage(string targetUserId, string text) |
| 콜백 | OnPrivateMessage(ChatUserInfo sender, string message) - 메시지 수신 시 호출 |
파라미터
| 파라미터 | 타입 | 설명 |
|---|---|---|
| targetUserId | string | 메시지를 받을 사용자 ID |
| text | string | 전송할 메시지 내용 |
사용 예제
using UnityEngine;
using UnityEngine.UI;
public class ChatExample : MonoBehaviour, IChatListener
{
public InputField _inputChat;
public void SendPrivateMessage()
{
string targetUserId = "string";
ChatManager.Instance.SendPrivateMessage(targetUserId, _inputChat.text);
}
public void OnPrivateMessage(ChatUserInfo sender, string message)
{
// 수신한 귓속말에 금칙어 필터 적용
Debug.Log($"[귓속말 from {sender.visitorName}] {ChatManager.Instance.Filter(message)}");
}
// ... 기타 IChatListener 메서드 구현
}