zxl
/
CTT
forked from Cal/CTT
1
0
Fork 0
CTT/Unity/Assets/Model/Module/Message/OpcodeHelper.cs

68 lines
1.7 KiB
C#

using System.Collections.Generic;
namespace ET
{
public static class OpcodeHelper
{
private static readonly HashSet<ushort> ignoreDebugLogMessageSet = new HashSet<ushort>
{
#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}");
}
}
}