Skip to main content

Connect to Chat Server

Explains how to connect to the chat server.

Description

Connect to the chat server by calling the ChatManager.Instance.Connect() method. You must pass an object that implements the IChatListener interface when connecting.

Method Information

ItemContent
MethodChatManager.Instance.Connect(IChatListener listener)
CallbackOnConnected() - Called on successful connection

Unity C# Usage Example

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($"[Whisper from {sender.visitorName}] {message}");
}

public void OnNotifyMessage(ChatUserInfo sender, string message)
{
Debug.Log($"[System] {message}");
_textView.text += $"\n[{sender.visitorName}] {message}";
}

public void OnSubscribed(ChatUserInfo user)
{
Debug.Log($"{user.visitorName} entered");
_textView.text += $"\n[{user.visitorName}] entered";
}

public void OnUnSubscribed(ChatUserInfo user)
{
Debug.Log($"{user.visitorName} left");
_textView.text += $"\n[{user.visitorName}] left";
}

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
}