채팅 버전은 1.3.0 입니다.
public class ChatManager : MonoBehaviour, BackndChat.IChatClientListener
{
private BackndChat.ChatClient ChatClient = null;
private UInt64 m_ChatNumber = 0;
public void AwakeSelf()
{
ChatClient = new ChatClient(this, new ChatClientArguments
{
//Avatar = "default",
//Metadata = new Dictionary<string, string>()
//{
// { "Rank", "1" },
// { "Level", "1000" },
// { "Server", "Server 1" },
//},
});
}
void Update()
{
ChatClient?.Update();
}
public void JoinChannel(string group, string name)
{
ChatClient.SendJoinOpenChannel(group, name);
}
public void SendChat(string message)
{
ChatClient.SendChatMessage(GameMng.m_Instance.GetChatBaseGroup(), GameMng.m_Instance.GetChatBaseName(), m_ChatNumber, message);
}
public void AddBlockPlayer(string name)
{
ChatClient.SendAddBlockGamer(name);
}
public void RemoveBlockPlayer(string name)
{
ChatClient.SendRemoveBlockGamer(name);
}
List<string> GetBlockedPlayers()
{
return ChatClient.GetBlockGamers();
}
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
public void OnJoinChannel(ChannelInfo channelInfo)
{
m_ChatNumber = channelInfo.ChannelNumber;
}
public void OnLeaveChannel(ChannelInfo channelInfo)
{
}
public void OnJoinChannelPlayer(string channelGroup, string channelName, UInt64 channelNumber, PlayerInfo player)
{
}
public void OnLeaveChannelPlayer(string channelGroup, string channelName, UInt64 channelNumber, PlayerInfo player)
{
}
public void OnUpdatePlayerInfo(string channelGroup, string channelName, ulong channelNumber, PlayerInfo player) { }
public void OnChangeGamerName(string oldGamerName, string newGamerName) { }
public void OnChatMessage(MessageInfo messageInfo)
{
int a;
a = 1;
//messageInfo.GamerName // 채팅 보낸 유저 닉네임
//messageInfo.Message // 전달 받은 채팅 메시지
}
public void OnWhisperMessage(WhisperMessageInfo messageInfo) { }
public void OnTranslateMessage(List<MessageInfo> messages) { }
public void OnHideMessage(MessageInfo messageInfo) { }
public void OnDeleteMessage(MessageInfo messageInfo) { }
public void OnSuccess(SUCCESS_MESSAGE success, object param)
{
switch (success)
{
default:
break;
}
}
public void OnError(ERROR_MESSAGE error, object param)
{
switch (error)
{
default:
break;
}
}
private void OnApplicationQuit()
{
ChatClient?.Dispose();
}
}