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

70 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;
}
Log.ILog.Debug("zone: {0} {1}", zone,
#if SERVER
message
#else
JsonHelper.ToJson(message)
#endif
);
}
public static void LogMsg(ushort opcode, long actorId, object message)
{
if (!IsNeedLogMessage(opcode))
{
return;
}
Log.ILog.Debug("actorId: {0} {1}", actorId, JsonHelper.ToJson(message));
}
}
}