public static void HandleMessage(ClientStructure client, IClientMessageBase message) { var messageData = (ChatMsgData)message.Data; if (messageData.From != client.PlayerName) { return; } if (messageData.Relay) { MessageQueuer.SendToAllClients <ChatSrvMsg>(messageData); LunaLog.ChatMessage($"{messageData.From}: {messageData.Text}"); } else //Is a PM to server msg { LunaLog.Warning($"{messageData.From}: {messageData.Text}"); } }
public void HandleChannelMessage(ClientStructure client, ChatChannelMsgData message) { if (message.SendToAll) { //send it to the player and send it to the other players too MessageQueuer.SendToAllClients <ChatSrvMsg>(message); LunaLog.ChatMessage($"{message.From} -> #Global: {message.Text}"); } else //Is a channel message { //send it to the player MessageQueuer.SendToClient <ChatSrvMsg>(client, message); foreach (var player in GetClientsInChannel(message.Channel)) { MessageQueuer.SendToClient <ChatSrvMsg>(player, message); } LunaLog.ChatMessage($"{message.From} -> #{message.Channel}: {message.Text}"); } }
public void HandlePrivateMessage(ClientStructure client, ChatPrivateMsgData message) { if (message.To != GeneralSettings.SettingsStore.ConsoleIdentifier) { var findClient = ClientRetriever.GetClientByName(message.To); if (findClient != null) { MessageQueuer.SendToClient <ChatSrvMsg>(client, message); //Send it to the sender MessageQueuer.SendToClient <ChatSrvMsg>(findClient, message); //Send it to destination LunaLog.ChatMessage($"{message.From} -> @{message.To}: {message.Text}"); } else { LunaLog.ChatMessage($"{message.From} -X-> @{message.To}: {message.Text}"); } } else { //Send it to the sender only as we as server already received it MessageQueuer.SendToClient <ChatSrvMsg>(client, message); LunaLog.ChatMessage($"{message.From} -> @{message.To}: {message.Text}"); } }