public void OnClientChatReceive(NetworkMessage netMsg) { MsgChatReceiveFromServer msg = netMsg.ReadMessage <MsgChatReceiveFromServer>(); ChatChannelData channel = defaultChannel; if (Channels.ContainsKey(msg.channelId)) { channel = Channels[msg.channelId]; } else { Debug.LogWarning("[Warning] Chat channel (" + msg.channelId + ") not found"); } if (channel != null) { ChatMessage.ChatState chatState = ChatMessage.ChatState.Receive; if (msg.senderId.Equals(clientChatUser.userId)) { chatState = ChatMessage.ChatState.Send; } ChatMessage chatMessage = new ChatMessage(channel, msg.senderId, msg.senderName, msg.message, chatState); Messages.Add(chatMessage); if (onReceiveMessage != null) { onReceiveMessage(this, chatMessage); } } }
public void OnServerChatReceive(NetworkMessage netMsg) { MsgChatSendFromClient msg = netMsg.ReadMessage <MsgChatSendFromClient>(); ChatChannelData channel = defaultChannel; if (ChatUsers.ContainsKey(netMsg.conn)) { ChatUser user = ChatUsers[netMsg.conn]; if (Channels.ContainsKey(msg.channelId)) { channel = Channels[msg.channelId]; } else { Debug.LogWarning("[Warning] Chat channel (" + msg.channelId + ") not found"); } if (channel != null) { ClientChatReceive(channel.DoChatLogic(user, msg.chatData)); } } else { Debug.LogError("[Error] Invalid chat user " + netMsg.conn.connectionId); } }
public void ClientChatSend(string channelId, string message) { if (clientChatUser == null || string.IsNullOrEmpty(message)) { Debug.LogWarning("[Warning] Did not login to server can not send chat message"); return; } ChatChannelData channel = null; if (Channels.TryGetValue(channelId, out channel)) { string[] chatData = channel.GetChatData(message); if (chatData != null && chatData.Length > 0) { NetworkConnection conn = client.connection; MsgChatSendFromClient chatSendMsg = new MsgChatSendFromClient(); chatSendMsg.channelId = channelId; chatSendMsg.chatData = chatData; conn.Send(MsgChatSendFromClient.MsgId, chatSendMsg); } else { Debug.LogWarning("[Warning] Invalid chat data"); } } else { Debug.LogWarning("[Warning] Chat channel (" + channelId + ") not found"); } }
public ChatChannelDataResult(ChatChannelData channel, string message, bool isBroadcast, ChatUser sender, ChatUser receiver = null) { this.channel = channel; this.message = message; this.isBroadcast = isBroadcast; this.sender = sender; this.receiver = receiver; }
public ChatMessage(ChatChannelData channelData, string senderId, string senderName, string message, ChatState chatState) { this.channelData = channelData; this.senderId = senderId; this.senderName = senderName; this.message = message; this.chatState = chatState; this.receiveTime = Time.unscaledTime; }