OpcodeHelper.cs 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. using System.Collections.Generic;
  2. namespace ET
  3. {
  4. public static class OpcodeHelper
  5. {
  6. [StaticField]
  7. private static readonly HashSet<ushort> ignoreDebugLogMessageSet = new HashSet<ushort>
  8. {
  9. OuterMessage.C2G_Ping,
  10. OuterMessage.G2C_Ping,
  11. OuterMessage.C2G_Benchmark,
  12. OuterMessage.G2C_Benchmark,
  13. BattleServerMsg.BattleEventPush,
  14. BattleServerMsg.BattleEventPushToServer,
  15. OuterMessage.G2C_RankNotify,
  16. ushort.MaxValue, // ActorResponse
  17. };
  18. private static bool IsNeedLogMessage(ushort opcode)
  19. {
  20. if (ignoreDebugLogMessageSet.Contains(opcode))
  21. {
  22. return false;
  23. }
  24. return true;
  25. }
  26. public static bool IsOuterMessage(ushort opcode)
  27. {
  28. return opcode < OpcodeRangeDefine.OuterMaxOpcode;
  29. }
  30. public static bool IsInnerMessage(ushort opcode)
  31. {
  32. return opcode >= OpcodeRangeDefine.InnerMinOpcode;
  33. }
  34. public static void LogMsg(int zone, object message)
  35. {
  36. ushort opcode = NetServices.Instance.GetOpcode(message.GetType());
  37. if (!IsNeedLogMessage(opcode))
  38. {
  39. return;
  40. }
  41. Logger.Instance.Debug("zone: id={0} opcode={1} message={2}", zone, opcode, message);
  42. }
  43. public static void LogMsg(long actorId, object message)
  44. {
  45. ushort opcode = NetServices.Instance.GetOpcode(message.GetType());
  46. if (!IsNeedLogMessage(opcode))
  47. {
  48. return;
  49. }
  50. Logger.Instance.Debug("actorId: {0} {1} {2}", actorId, opcode, message);
  51. }
  52. }
  53. }