/// <summary> /// Process a received message /// Triggered by CommHandler object /// </summary> /// <param name="msg">ChatMessage to process</param> public void MessageHandler(object sender, ChatEventArgs e) { if (e != null) { MessageQueue.Enqueue(e.ServerMessage); } }
// Implements ICommLayer public void NotifyCommHandler(object sender, ChatEventArgs e) { if (CommHandler != null) { CommHandler(this, e); } }
public void NotifyCore(object sender, ChatEventArgs e) { if (CoreListener != null) { CoreListener(this, e); } }
/// <summary> /// Process a received message /// Triggered by CommHandler object /// </summary> /// <param name="sender">Object that sent the event</param> /// <param name="e">ChatEventArgs object containing the ChatMessage</param> private void MessageHandler(object sender, ChatEventArgs e) { if (e != null) { _messageQueue.Enqueue(e.ServerMessage); if (_messageQueue.Count > 10) { _messageQueue.Dequeue(); } TableOperation insertOp = TableOperation.Insert(e.ServerMessage); _messageTable.Execute(insertOp); } }
private void RConnPacketHandler(Packet args) { if (args.IsRequest) { var formattedPacket = RecognizedPacket.FormatRequestPacket(args); if (MessageEvents.ContainsKey(args.FirstWord) && MessageEvents[args.FirstWord] != null) { MessageEvents[args.FirstWord](this, formattedPacket); } } else if(args.IsResponse && RequestCallbacks.ContainsKey(args.SequenceNumber)) { Packet request = RequestPackets[args.SequenceNumber]; RequestCallbacks[args.SequenceNumber](this, RecognizedPacket.FormatResponsePacket(request, args)); } //Version .1 we only want player.onChat, admin.say, and admin.yell if (OnChat.IsOnChat(args)) { var chat = new OnChat(args); var message = new ChatMessage { MessageTimeStamp = DateTime.UtcNow, Text = chat.Text, Speaker = chat.SoldierName, MessageType = chat.TargetPlayers.ToString() }; var chatArgs = new ChatEventArgs(message); CommHandler(this, chatArgs); } }
public void NotifyCommHandler(object sender, ChatEventArgs e) { throw new NotImplementedException(); }
// Implements ICore public void MessageHandler(object sender, ChatEventArgs e) { // Filter for server messages here - do not want the spam if (e != null) { if (e.ServerMessage.Speaker == "Server") { if (ServerMessages.ContainsKey(e.ServerMessage.Text)) { var lastShown = ServerMessages[e.ServerMessage.Text]; var now = DateTime.UtcNow; var ts = now - lastShown; double diff = ts.TotalMinutes; if (diff > 30) { // Message needs to be displayed again EnqueueMessage(e.ServerMessage); // Timestamp in Dictionary also needs to be updated ServerMessages[e.ServerMessage.Text] = now; } } else { // Message needs to be displayed, as it has not been seen EnqueueMessage(e.ServerMessage); // Also need to add it to the Dictionary var now = DateTime.UtcNow; ServerMessages.Add(e.ServerMessage.Text, now); } } else { EnqueueMessage(e.ServerMessage); } } }
// Implements ICore public void MessageHandler(object sender, ChatEventArgs e) { // Filter for server messages here - do not want the spam if (e != null && e.ServerMessage.Speaker != "Server") { MessageQueue.Enqueue(e.ServerMessage); if (MessageQueue.Count > 25) { MessageQueue.Dequeue(); } TableOperation insertOp = TableOperation.Insert(e.ServerMessage); MessageTable.Execute(insertOp); } }