聊天服务器连接
介绍如何连接到聊天服务器。
说明
调用 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
}