static InputManager() { xAxis = new VirtualAxis(); xAxis.Nodes.Add(new VirtualAxis.KeyboardKeys(VirtualInput.OverlapBehavior.TakeNewer, Keys.A, Keys.D)); xAxis.Nodes.Add(new VirtualAxis.GamePadLeftStickX()); yAxis = new VirtualAxis(); yAxis.Nodes.Add(new VirtualAxis.KeyboardKeys(VirtualInput.OverlapBehavior.TakeNewer, Keys.W, Keys.S)); yAxis.Nodes.Add(new VirtualAxis.GamePadLeftStickY()); joystick = new VirtualJoystick(false); joystick.AddKeyboardKeys(VirtualInput.OverlapBehavior.TakeNewer, Keys.A, Keys.D, Keys.W, Keys.S); joystick.AddGamePadLeftStick(); brake = new VirtualButton(); brake.AddKeyboardKey(Keys.LeftShift); // TODO: add gamepad button for braking dash = new VirtualButton(); dash.AddKeyboardKey(Keys.Space); // TODO: add gamepad button for dashing dispense = new VirtualButton(); dispense.AddKeyboardKey(Keys.F); // TODO: add gamepad button for dispensing shoot = new VirtualButton(); shoot.AddMouseLeftButton(); shoot.AddGamePadRightTrigger(0, 0.2f); var prevKey = new VirtualButton(new VirtualButton.KeyboardKey(Keys.Q)); var nextKey = new VirtualButton(new VirtualButton.KeyboardKey(Keys.E)); var prevGamepad = new VirtualButton(new VirtualButton.GamePadButton(0, Buttons.X)); var nextGamepad = new VirtualButton(new VirtualButton.GamePadButton(0, Buttons.A)); switchWeapon = new VirtualIntegerAxis(); switchWeapon.Nodes.Add(new ButtonAxis(prevKey, nextKey)); switchWeapon.Nodes.Add(new ScrollAxis()); switchWeapon.Nodes.Add(new ButtonAxis(prevGamepad, nextGamepad)); }
public override void OnAddedToEntity() { _leftStick = new VirtualJoystick(false); _leftStick.AddKeyboardKeys(OverlapBehavior.CancelOut, Keys.A, Keys.D, Keys.W, Keys.S); }