public static void Handle(Message message, DofusClient client) { if (message.IsNull() && !client.IsNull()) { Logger.Init2("[Rcv] Client " + client.SSyncClient.Ip + " send unknown datas, they wont be handled"); return; } var handler = Handlers.FirstOrDefault(x => x.Key == message.MessageId); if (!handler.Value.IsNull()) { { if (ConfigurationManager.Instance.ShowProtocolMessages) Logger.Write("[Rcv] Message: " + message.ToString(), ConsoleColor.Gray); try { handler.Value.DynamicInvoke(null, message, client); } catch (Exception ex) { Logger.Error(string.Format("Unable to handle message {0} {1} : '{2}'", message.ToString(), handler.Value.Method.Name, ex.InnerException.ToString())); ErrorLogsManager.AddLog(ex.InnerException.ToString(), client.SSyncClient.Ip); client.SendRaw("forcedbugreport"); } } } else { if (ConfigurationManager.Instance.ShowProtocolMessages) Logger.Log(string.Format("[Rcv] No Handler: ({0}) {1}", message.MessageId, message.ToString())); } }
public static void Handle(Message message, DofusClient client) { if (message.IsNull() && !client.IsNull()) { Logger.Init2("[Rcv] Client " + client.SSyncClient.Ip + " send unknown datas, they wont be handled"); return; } var handler = Handlers.FirstOrDefault(x => x.Key == message.MessageId); if (!handler.Value.IsNull()) { { if (ConfigurationManager.Instance.ShowProtocolMessages) { Logger.Write("[Rcv] Message: " + message.ToString(), ConsoleColor.Gray); } try { handler.Value.DynamicInvoke(null, message, client); } catch (Exception ex) { Logger.Error(string.Format("Unable to handle message {0} {1} : '{2}'", message.ToString(), handler.Value.Method.Name, ex.InnerException.ToString())); ErrorLogsManager.AddLog(ex.InnerException.ToString(), client.SSyncClient.Ip); client.SendRaw("forcedbugreport"); } } } else { if (ConfigurationManager.Instance.ShowProtocolMessages) { Logger.Log(string.Format("[Rcv] No Handler: ({0}) {1}", message.MessageId, message.ToString())); } } }