채팅 서버 연결
채팅 서버에 연결하는 방법을 설명합니다.
설명
ChatManager.Instance.Connect() 메서드를 호출하여 채팅 서버에 연결합니다. 연결 시 IChatListener 인터페이스를 구현한 객체를 전달해야 합니다.
메서드 정보
| 항목 | 내용 |
|---|---|
| 메서드 | ChatManager.Instance.Connect(IChatListener listener) |
| 콜백 | OnConnected() - 연결 성공 시 호출 |
Unity C# 사용 예제
using UnityEngine;
using UnityEngine.UI;
public class ChatExample : MonoBehaviour, IChatListener
{
public InputField _inputChat;
public Text _textView;
private string myChannel = "Default Channel";
void Start()
{
ChatManager.Instance.Connect(this);
}
#region IChatListener
public void OnConnected()
{
Debug.Log("Chat Connected");
ChatManager.Instance.Subscribe("CH01");
}
public void OnDisconnected()
{
Debug.Log("Chat Disconnected");
}
public void OnError(string code, string message)
{
Debug.LogError($"Chat Error: [{code}] {message}");
}
public void OnPublicMessage(ChatUserInfo sender, string message)
{
Debug.Log($"[{sender.visitorName}] {message}");
_textView.text += $"\n[{sender.visitorName}] {message}";
}
public void OnPrivateMessage(ChatUserInfo sender, string message)
{
Debug.Log($"[귀속말 from {sender.visitorName}] {message}");
}
public void OnNotifyMessage(ChatUserInfo sender, string message)
{
Debug.Log($"[시스템] {message}");
_textView.text += $"\n[{sender.visitorName}] {message}";
}
public void OnSubscribed(ChatUserInfo user)
{
Debug.Log($"{user.visitorName} 입장");
_textView.text += $"\n[{user.visitorName}] 입장";
}
public void OnUnSubscribed(ChatUserInfo user)
{
Debug.Log($"{user.visitorName} 퇴장");
_textView.text += $"\n[{user.visitorName}] 퇴장";
}
public void OnChannels(ChatChannelInfo[] channels)
{
foreach (var channel in channels)
Debug.Log($"Channel: {channel.channel}, Users: {channel.count}");
}
public void OnPlayerOnline(ChatPlayerInfo[] players)
{
foreach (var player in players)
Debug.Log($"Player: {player.userUniqueId}, Online: {player.online}");
}
#endregion
}