Beispiel #1
0
        private byte?GetModifiers(KeyModifier?initial, IList <string> mods)
        {
            byte?modifierBytes = null;

            if (initial.HasValue)
            {
                modifierBytes = (byte)initial.Value;
            }

            foreach (var key in mods)
            {
                if (string.IsNullOrWhiteSpace(key))
                {
                    continue;
                }

                var lowerKey = key.ToLowerInvariant();
                if (Modifiers.ContainsKey(lowerKey))
                {
                    modifierBytes = (byte)(modifierBytes | Modifiers[lowerKey]);
                }
            }

            return(modifierBytes);
        }
Beispiel #2
0
 public void RemoveModifier(string modifier)
 {
     if (Modifiers.ContainsKey(modifier))
     {
         Modifiers.Remove(modifier);
     }
 }
Beispiel #3
0
 public Modifier GetModifier(string name)
 {
     if (Modifiers.ContainsKey(name))
     {
         return(Modifiers[name]);
     }
     return(null);
 }
Beispiel #4
0
 public void AddModifier(Modifier modifier)
 {
     if (Modifiers.ContainsKey(modifier.Name))
     {
         Modifiers[modifier.Name] = modifier;
     }
     else
     {
         Modifiers.Add(modifier.Name, modifier);
     }
 }
Beispiel #5
0
 public bool HasModifier(Modifier modifier) => Modifiers.ContainsKey(modifier.Name);