OpcodeHelper.cs 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  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. ushort.MaxValue, // ActorResponse
  14. };
  15. private static bool IsNeedLogMessage(ushort opcode)
  16. {
  17. if (ignoreDebugLogMessageSet.Contains(opcode))
  18. {
  19. return false;
  20. }
  21. return true;
  22. }
  23. public static bool IsOuterMessage(ushort opcode)
  24. {
  25. return opcode < OpcodeRangeDefine.OuterMaxOpcode;
  26. }
  27. public static bool IsInnerMessage(ushort opcode)
  28. {
  29. return opcode >= OpcodeRangeDefine.InnerMinOpcode;
  30. }
  31. public static void LogMsg(int zone, object message)
  32. {
  33. ushort opcode = NetServices.Instance.GetOpcode(message.GetType());
  34. if (!IsNeedLogMessage(opcode))
  35. {
  36. return;
  37. }
  38. Logger.Instance.Debug("zone: {0} {1}", zone, message);
  39. }
  40. public static void LogMsg(long actorId, object message)
  41. {
  42. ushort opcode = NetServices.Instance.GetOpcode(message.GetType());
  43. if (!IsNeedLogMessage(opcode))
  44. {
  45. return;
  46. }
  47. Logger.Instance.Debug("actorId: {0} {1}", actorId, message);
  48. }
  49. }
  50. }