using System.Collections.Generic; namespace ET { public static class OpcodeHelper { private static readonly HashSet ignoreDebugLogMessageSet = new HashSet { #if SERVER OuterOpcode.Frame_ClickMap, OuterOpcode.M2C_PathfindingResult, OuterOpcode.C2G_Ping, OuterOpcode.G2C_Ping, #endif ushort.MaxValue, }; public static void AddIgnoreDebugLogMessage(ushort id) { ignoreDebugLogMessageSet.Add(id); } private static bool IsNeedLogMessage(ushort opcode) { #if SERVER if (!AppConfig.inst.isLogMsg) return false; #endif if (ignoreDebugLogMessageSet.Contains(opcode)) { return false; } return true; } public static bool IsOuterMessage(ushort opcode) { return opcode >= 20000; } public static bool IsInnerMessage(ushort opcode) { return opcode < 20000; } public static void LogMsg(int zone, ushort opcode, object message) { if (!IsNeedLogMessage(opcode)) { return; } string msg =JsonHelper.ToJson(message); Log.Debug($"zone: {zone} {msg}" ); } public static void LogMsg(ushort opcode, long actorId, object message) { if (!IsNeedLogMessage(opcode)) { return; } string msg =JsonHelper.ToJson(message); Log.Debug($"actorId: {actorId} {msg}"); } } }