//Registering listeners public void Register(IControlsObserver observer, List<Keys> keys, List<MouseButtons> buttons, bool alwaysNotify = false) { _listeners.Add(new ControlStateListener( keys, buttons, alwaysNotify, observer)); _listenersUpdated = true; }
public ControlStateListener(IEnumerable<Keys> keys, IEnumerable<MouseButtons> buttons, bool alwaysNotify, IControlsObserver observer) { _alwaysNotify = alwaysNotify; foreach(var key in keys) KeyStates.Add(key, KeyState.Up); foreach (var button in buttons) ButtonStates.Add(button, ButtonState.Released); Observer = observer; }
public void Unregister(IControlsObserver observer) { _listeners.RemoveAll(p => p.Observer == observer); _listenersUpdated = true; }