internal static void AddHandler <T>(RealmEnums opcode, ProcessRealmPacketCallback <T> callback) { AddHandler(opcode, (session, data) => { var generatedHandler = (T)Activator.CreateInstance(typeof(T), data); callback(session, generatedHandler); }); }
/// <summary> /// Calls the handler. /// </summary> /// <param name="realmServerSession"></param> /// <param name="opcode">The event handler.</param> /// <param name="data"></param> internal static void CallHandler(RealmServerSession realmServerSession, RealmEnums opcode, byte[] data) { if (MCallbacks.ContainsKey(opcode)) { MCallbacks[opcode](realmServerSession, data); } else { Log.Print(LogType.RealmServer, $"Missing handler: {opcode}"); Utils.DumpPacket(data); } }
public PacketServer(RealmEnums realmOpcode) : this((int)realmOpcode) { }
internal static void AddHandler(RealmEnums opcode, ProcessRealmPacketCallback handler) { MCallbacks.Add(opcode, handler); }