public void SetControlSystem(Input.InputType inputType) { if (System.ComponentModel.DesignerProperties.GetIsInDesignMode(this)) { return; } if (InputSystem != null) { InputSystem.KeyChange -= InputSystemOnKeyChange; InputSystem.Dispose(); } switch (inputType) { case Input.InputType.XInput: InputSystem = new Input.JoystickInput(); break; case Input.InputType.Keyboard: InputSystem = new Input.GlobalKeyboardInput(); break; default: throw new ArgumentOutOfRangeException("inputType", inputType, null); } InputSystem.KeyChange -= InputSystemOnKeyChange; InputSystem.KeyChange += InputSystemOnKeyChange; }
protected override void Dispose(bool disposing) { if (disposing) { _renderer.Dispose(); _triangle.Dispose(); _inputSystem.Dispose(); _window.Dispose(); } base.Dispose(disposing); }