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);
     }
 }
예제 #3
0
        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);
        }
예제 #4
0
 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);
     }
 }
예제 #7
0
 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;
     }
 }