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); }
public void RemoveModifier(string modifier) { if (Modifiers.ContainsKey(modifier)) { Modifiers.Remove(modifier); } }
public Modifier GetModifier(string name) { if (Modifiers.ContainsKey(name)) { return(Modifiers[name]); } return(null); }
public void AddModifier(Modifier modifier) { if (Modifiers.ContainsKey(modifier.Name)) { Modifiers[modifier.Name] = modifier; } else { Modifiers.Add(modifier.Name, modifier); } }
public bool HasModifier(Modifier modifier) => Modifiers.ContainsKey(modifier.Name);