using System;
public interface IChatListener
{
void OnConnected();
void OnDisconnected();
void OnError(string code, string message);
void OnChannels(ChatChannelInfo[] channels);
void OnSubscribed(ChatUserInfo user);
void OnUnSubscribed(ChatUserInfo user);
void OnPublicMessage(ChatUserInfo sender, string message);
void OnPrivateMessage(ChatUserInfo sender, string message);
void OnNotifyMessage(ChatUserInfo sender, string message);
void OnPlayerOnline(ChatPlayerInfo[] players);
}
[Serializable]
public class ChatServerResponse
{
public string ErrorCode;
public string Message;
public ChatServerItem[] Servers;
}
[Serializable]
public class ChatServerItem
{
public string Addr;
public int Port;
public string Secure;
}
[Serializable]
public class ChatMessageModel
{
public string mid;
public byte type;
public int error;
public string gameId;
public string serviceKey;
public string channelId;
public string userUniqueId;
public string userName;
public string privateToUserUniqueId;
public string message;
public ChatChannelInfo[] channels;
public ChatPlayerInfo[] players;
public string[] onlinePlayers;
public int prevMessageCount;
public string ipAddr;
public string createdAt;
}
[Serializable]
public class ChatUserInfo
{
public string visitorId;
public string visitorName;
}
[Serializable]
public class ChatChannelInfo
{
public string channel;
public int count;
}
[Serializable]
public class ChatPlayerInfo
{
public string userUniqueId;
public string online;
}
[Serializable]
public class ChatFilterResponse
{
public string ErrorCode;
public string Message;
public string[] FilterWords;
}