/// <summary> /// Registers a callback for the specified packet type. /// </summary> /// <typeparam name="T">Type of packet to be hooked</typeparam> /// <param name="callback">Callback to be registered</param> public void HookPacket <T>(GenericPacketHandler <T> callback) where T : Packet { if (!_genericPacketHooks.ContainsKey(callback)) { _genericPacketHooks.Add(callback, typeof(T)); } else { throw new InvalidOperationException("Callback already bound"); } }
public void HookPacket <T>(GenericPacketHandler <T> callb) where T : Packet { if (!_genericPacketHooks.ContainsKey(callb)) { _genericPacketHooks.Add(callb, typeof(T)); ConsoleUtilities.TagWriteLine($"Successfully hooked {typeof(T).Name} - {callb.Method.DeclaringType?.Name +"."+ callb.Method.Name}", "HOOKS", ConsoleColor.Cyan); } else { return; //todo: log something here } }