internal static void AddHandler <T>(RealmCMD opcode, ProcessLoginPacketCallbackTypes <T> callback) { AddHandler(opcode, (session, data) => { T generatedHandler = (T)Activator.CreateInstance(typeof(T), data); callback(session, generatedHandler); }); }
public void AddHandler <TCustomReader>(TOpcode opcode, ProcessLoginPacketCallbackTypes <TSession, TCustomReader> callback) where TCustomReader : BinaryReader { AddHandler(opcode, (session, data) => { Array headerlessData = (data.BaseStream as MemoryStream).ToArray().Skip(session.HeaderLength).ToArray(); var generatedHandler = (TCustomReader)Activator.CreateInstance(typeof(TCustomReader), headerlessData); callback(session, generatedHandler); }); }