private async void ExecuteAsync() { try { ChatMessageDetails details = await Task.Factory.StartNew(() => JsonConvert.DeserializeObject <ChatMessageDetails>(_rawText.Substring(_keyWord.Length))); if (details == null) { throw new Exception($"cannot deserialize JSON element [{_rawText.Substring(_keyWord.Length)}]"); } if (details.IsPrivate) { _chat.UpdatePrivateChat(details.Message, details.From, details.To); } else { _chat.UpdateGlobalChat(details.Message, details.From); } } catch (Exception exception) { _chat.UpdateLog($"Cannot execute chat message command: {exception.Message}"); } }
public void AddMessage(int charId, ChatMessageDetails msgDetails) { if (charId < 0 || msgDetails == null) { return; } lock (_chatMsgLock) { Tuple <int, ChatMessageDetails> newData = Tuple.Create(charId, msgDetails); _charIdMsgList.Add(newData); } }
private async void ExecuteAsync(PlayerDetails playerDetails) { try { string text = _rawText; ChatMessageDetails details = await Task.Factory.StartNew(() => JsonConvert.DeserializeObject <ChatMessageDetails>(text.Substring(_keyWord.Length))); if (details == null) { throw new Exception($"cannot deserialize JSON element [{text.Substring(_keyWord.Length)}]"); } _chatHandler.AddMessage(playerDetails.CharId, details); } catch (Exception exception) { _logger.UpdateLog($"Cannot execute chat command: {exception.Message}"); } }
public void AddCommandElements() { try { string to = ""; string message = _rawText; int cutIndex = -1; if (_rawText.Length >= 2 && _rawText.Substring(0, 2).Equals("/\"", StringComparison.InvariantCultureIgnoreCase)) { string cutSection = _rawText.Substring(2); cutIndex = cutSection.IndexOf('"'); if (cutIndex > -1) { to = cutSection.Substring(0, cutIndex); message = cutSection.Substring(cutIndex + 1); } } if (message.Length >= 1 && message[0] == ' ') { message = message.Substring(1); } ChatMessageDetails details = new ChatMessageDetails() { IsPrivate = !String.IsNullOrWhiteSpace(to), From = "", To = to, Message = message }; _commandDetails.CommandElementList.Add(JsonConvert.SerializeObject(details)); } catch (Exception exception) { MainGameHandler.ShowMessageBox($"Message building error: {exception.Message}"); } }
public ChatMessageCmdBuilder(ChatMessageDetails details) { _details = details; }