Advertisement
Guest User

Untitled

a guest
Jan 19th, 2017
121
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.89 KB | None | 0 0
  1.  
  2. private static List<LokiPoe.InGameState.ChatPanel.ChatEntry> RelevantMessages => LokiPoe.InGameState.ChatPanel.Messages.Where(d => d.MessageType == LokiPoe.InGameState.ChatPanel.MessageType.Whisper && !d.Message.StartsWith("@To")).ToList();
  3.  
  4.  
  5. public static List<ChatMessage> NewMessages
  6. {
  7. get
  8. {
  9. List<ChatMessage> res = new List<ChatMessage>();
  10. var relevantMsgs = RelevantMessages;
  11.  
  12. if(relevantMsgs.Count == 0)
  13. {
  14. lastMD5 = "";
  15. return res;
  16. }
  17.  
  18. if(lastMD5 != "")
  19. {
  20. var lastMD5MsgIndex = relevantMsgs.FindIndex(d => d.MD5 == lastMD5);
  21.  
  22. if (lastMD5MsgIndex != -1)
  23. relevantMsgs.RemoveRange(0, lastMD5MsgIndex + 1);
  24. }
  25.  
  26. if (relevantMsgs.Count == 0)
  27. return res;
  28.  
  29. foreach (var msg in relevantMsgs)
  30. {
  31. var pRes = ChatMessage.Parse(msg.Message);
  32.  
  33. if(pRes.err)
  34. {
  35. TradeManager.TechnicalFail(new CommunicationFail() { err = CommunicationError.ParseMsgFail, PlayerName = msg.Sender });
  36. Log.Error("[ChatParser] ERR " + pRes.info);
  37. return null;
  38. }
  39.  
  40. // use sender as player name (excludes the clan name)
  41. pRes.message.PlayerName = msg.Sender;
  42.  
  43. Log.ErrorFormat("msg sender parsed {0} api {1}", pRes.message.PlayerName, msg.Sender);
  44. res.Add(pRes.message);
  45. }
  46.  
  47. lastMD5 = relevantMsgs.Last().MD5;
  48.  
  49. return res;
  50. }
  51. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement