public static LavaQueue <T> AddFirst <T>(this LavaQueue <T> queue, T item) where T : IQueueObject { LinkedList <T> items = (LinkedList <T>)queue.GetType().GetField("_linked", BindingFlags.Instance | BindingFlags.NonPublic).GetValue(queue); items.AddFirst(item); return(queue); }
private static Embed GetRefreshedQueue(IEmbed previousEmbed, LavaQueue queue) { EmbedBuilder builder = previousEmbed.ToEmbedBuilder(); AddQueueInfo(builder, queue); builder.WithCurrentTimestamp(); return(builder.Build()); }
private static void AddQueueInfo(EmbedBuilder builder, LavaQueue queue) { string queueStr = queue?.ToString(); builder.Fields[4].Value = string.IsNullOrEmpty(queueStr) ? "-" : queueStr; }
public static LavaQueue <T> SetValue <T>(this LavaQueue <T> queue, IEnumerable <T> values) where T : IQueueObject { queue.GetType().GetField("_linked", BindingFlags.Instance | BindingFlags.NonPublic).SetValue(queue, values); return(queue); }