internal void TrySetState(ButtonState state) { if (this.State != state) { this.State = state; var args = new InputButtonArgs(this.Which, this.State); this.OnStateChanged?.Invoke(this, args); this.OnState[state]?.Invoke(this, args); } }
private void HandleToggleTerminal(InputButtonManager sender, InputButtonArgs args) { _terminalState = !_terminalState; if (_terminalState) { _terminal.Open(_game); } else { _terminal.Close(_game); } }
private void HandleInputChanged(InputButtonManager sender, InputButtonArgs args) { this.OnButtonStateChanged?.Invoke(sender, args); this.OnButtonState[args.State]?.Invoke(sender, args); }