/// <summary> /// Remove a custom decoder callback /// </summary> /// <param name="key">The key of the field to decode</param> /// <param name="customPacketHandler">The custom decode handler</param> public static void RemoveCustomHandler(string key, CustomPacketDecoder customPacketHandler) { if (Callbacks.ContainsKey(key)) lock (Callbacks) { if (Callbacks[key].Contains(customPacketHandler)) Callbacks[key].Remove(customPacketHandler); } }
/// <summary> /// Add a custom decoder callback /// </summary> /// <param name="key">The key of the field to decode</param> /// <param name="customPacketHandler">The custom decode handler</param> public static void AddCallback(string key, CustomPacketDecoder customPacketHandler) { if (Callbacks.ContainsKey(key)) { lock (Callbacks) Callbacks[key].Add(customPacketHandler); } else { lock (Callbacks) Callbacks.Add(key, new List<CustomPacketDecoder>() { customPacketHandler }); } }