internal void RemoveReaction(DiscordEmoji dr) { if (Reactions.ContainsKey(dr)) { Reactions[dr]--; if (Reactions[dr] == 0) { Reactions.TryRemove(dr, out int something); } } }
internal void AddReaction(DiscordEmoji dr) { if (Reactions.ContainsKey(dr)) { Reactions[dr]++; } else { Reactions.TryAdd(dr, 1); } }
public bool TryGetReaction(int a, int b, out WowUnitReaction reaction) { if (Reactions.ContainsKey(a) && Reactions[a].ContainsKey(b)) { reaction = Reactions[a][b]; return(true); } reaction = WowUnitReaction.Unknown; return(false); }
public WowUnitReaction GetReaction(IWowUnit a, IWowUnit b) { if (Reactions.ContainsKey(a.FactionTemplate) && Reactions[a.FactionTemplate].ContainsKey(b.FactionTemplate)) { return(Reactions[a.FactionTemplate][b.FactionTemplate]); } else { WowUnitReaction reaction = Wow.GetReaction(a.BaseAddress, b.BaseAddress); CacheReaction(a.FactionTemplate, b.FactionTemplate, reaction); return(reaction); } }
internal void RemoveReaction(DiscordEmoji dr, ulong m) { if (Reactions.ContainsKey(dr) && _membersvoted.Contains(m)) { Reactions[dr]--; if (Reactions[dr] == 0) { Reactions.TryRemove(dr, out int something); } // Just making sure no double member slipped in :^) //_membersvoted.RemoveAll(x => x == m); <-- this might cause issues // Though that should be impossible? } }
internal void AddReaction(DiscordEmoji dr, ulong m) { if (!_membersvoted.Contains(m)) { if (Reactions.ContainsKey(dr)) { Reactions[dr]++; } else { Reactions.TryAdd(dr, 1); } _membersvoted.Add(m); } }
public void CacheReaction(int a, int b, WowUnitReaction reaction) { if (!Reactions.ContainsKey(a)) { Reactions.TryAdd(a, new Dictionary <int, WowUnitReaction>() { { b, reaction } }); } else if (!Reactions[a].ContainsKey(b)) { Reactions[a].Add(b, reaction); } else { Reactions[a][b] = reaction; } }