public static GamePadController GetGamePadAt(PlayerIndex index) { if (MaxGamePadCount <= (int)index) { throw new Exception("Game pad index out of supported range."); } return(Controllers[(int)index] ?? new GamePadController(index)); }
private GamePadController(PlayerIndex index) { this.capabilities = GamePad.GetCapabilities(index); this.PlayerIndex = index; this.Name = $"{index}-{this.capabilities.GamePadType.ToString()}"; Controllers[(int)index] = this; }
public static bool IsGamepadButtonTapped(Microsoft.Xna.Framework.PlayerIndex player, GamePadMapper.GamePadButtons button) { if (player == Microsoft.Xna.Framework.PlayerIndex.One) { return(player1Pad.IsButtonTapped(button)); } else if (player == Microsoft.Xna.Framework.PlayerIndex.Two) { return(player2Pad.IsButtonTapped(button)); } return(false); }
public static Microsoft.Xna.Framework.Input.GamePadState GetState(Microsoft.Xna.Framework.PlayerIndex index) { if (instance == null) { instance = new FizzyoInput(); } SharpDX.DirectInput.JoystickState joyState = new SharpDX.DirectInput.JoystickState(); if ((int)index < joysticks.Length) { joysticks[(int)index].GetCurrentState(ref joyState); joyState.X -= joysticksDeadzoneX[(int)index]; return(joyState.ToXNAGamePadState()); } return(new Microsoft.Xna.Framework.Input.GamePadState()); }
public KeyboardDevice(PlayerIndex player, IntPtr windowHandle) { _player = player; _currentState = Keyboard.GetState(player); _previousState = _currentState; _blocked = new List<int>(); _newCharacters = new List<char>(); _characters = new List<char>(); if (player == PlayerIndex.One) { if (windowHandle != IntPtr.Zero) TextInput.Initialize(windowHandle); TextInput.CharEntered += (sender, e) => { if (char.IsControl(e.Character)) return; lock (_newCharacters) _newCharacters.Add(e.Character); }; } }
public KeyHandler() { gamePad = true; if (GamePad.GetState(Microsoft.Xna.Framework.PlayerIndex.One).IsConnected) { this.index = Microsoft.Xna.Framework.PlayerIndex.One; } else if (GamePad.GetState(Microsoft.Xna.Framework.PlayerIndex.Two).IsConnected) { this.index = Microsoft.Xna.Framework.PlayerIndex.Two; } else if (GamePad.GetState(Microsoft.Xna.Framework.PlayerIndex.Three).IsConnected) { this.index = Microsoft.Xna.Framework.PlayerIndex.Three; } else if (GamePad.GetState(Microsoft.Xna.Framework.PlayerIndex.Four).IsConnected) { this.index = Microsoft.Xna.Framework.PlayerIndex.Four; } else { gamePad = false; } }
/// <summary> /// Handles the button press event to track which focused menu item will get the activation /// </summary> /// <param name="backButton"></param> /// <param name="startButton"></param> /// <param name="systemButton"></param> /// <param name="aButton"></param> /// <param name="bButton"></param> /// <param name="xButton"></param> /// <param name="yButton"></param> /// <param name="leftShoulder"></param> /// <param name="rightShoulder"></param> /// <param name="player"></param> protected override void OnGamePadButtonUpdate(CCGamePadButtonStatus backButton, CCGamePadButtonStatus startButton, CCGamePadButtonStatus systemButton, CCGamePadButtonStatus aButton, CCGamePadButtonStatus bButton, CCGamePadButtonStatus xButton, CCGamePadButtonStatus yButton, CCGamePadButtonStatus leftShoulder, CCGamePadButtonStatus rightShoulder, Microsoft.Xna.Framework.PlayerIndex player) { base.OnGamePadButtonUpdate(backButton, startButton, systemButton, aButton, bButton, xButton, yButton, leftShoulder, rightShoulder, player); if (!HasFocus) { return; } if (backButton == CCGamePadButtonStatus.Pressed || aButton == CCGamePadButtonStatus.Pressed || bButton == CCGamePadButtonStatus.Pressed || xButton == CCGamePadButtonStatus.Pressed || yButton == CCGamePadButtonStatus.Pressed || leftShoulder == CCGamePadButtonStatus.Pressed || rightShoulder == CCGamePadButtonStatus.Pressed) { CCMenuItem item = FocusedItem; item.Selected(); m_pSelectedItem = item; m_eState = CCMenuState.TrackingTouch; } else if (backButton == CCGamePadButtonStatus.Released || aButton == CCGamePadButtonStatus.Released || bButton == CCGamePadButtonStatus.Released || xButton == CCGamePadButtonStatus.Released || yButton == CCGamePadButtonStatus.Released || leftShoulder == CCGamePadButtonStatus.Released || rightShoulder == CCGamePadButtonStatus.Released) { if (m_eState == CCMenuState.TrackingTouch) { // Now we are selecting the menu item CCMenuItem item = FocusedItem; if (item != null && m_pSelectedItem == item) { // Activate this item item.Unselected(); item.Activate(); m_eState = CCMenuState.Waiting; m_pSelectedItem = null; } } } }
public KeyboardDevice(PlayerIndex player) : this(player, IntPtr.Zero) { }
protected override void OnGamePadButtonUpdate(CCGamePadButtonStatus backButton, CCGamePadButtonStatus startButton, CCGamePadButtonStatus systemButton, CCGamePadButtonStatus aButton, CCGamePadButtonStatus bButton, CCGamePadButtonStatus xButton, CCGamePadButtonStatus yButton, CCGamePadButtonStatus leftShoulder, CCGamePadButtonStatus rightShoulder, Microsoft.Xna.Framework.PlayerIndex player) { }
protected override void OnGamePadConnectionUpdate(Microsoft.Xna.Framework.PlayerIndex player, bool IsConnected) { }
protected override void OnGamePadDPadUpdate(CCGamePadButtonStatus leftButton, CCGamePadButtonStatus upButton, CCGamePadButtonStatus rightButton, CCGamePadButtonStatus downButton, Microsoft.Xna.Framework.PlayerIndex player) { if (!HasFocus) { return; } }
protected override void OnGamePadStickUpdate(CCGameStickStatus leftStick, CCGameStickStatus rightStick, Microsoft.Xna.Framework.PlayerIndex player) { }
public static bool IsGamePadConnectedAt(PlayerIndex index) { return(GamePad.GetState(index).IsConnected); }
private void MyOnGamePadButtonUpdate(CCGamePadButtonStatus backButton, CCGamePadButtonStatus startButton, CCGamePadButtonStatus systemButton, CCGamePadButtonStatus aButton, CCGamePadButtonStatus bButton, CCGamePadButtonStatus xButton, CCGamePadButtonStatus yButton, CCGamePadButtonStatus leftShoulder, CCGamePadButtonStatus rightShoulder, Microsoft.Xna.Framework.PlayerIndex player) { if (bButton == CCGamePadButtonStatus.Pressed) { _bButtonWasPressed = true; } else if (bButton == CCGamePadButtonStatus.Released && _bButtonWasPressed) { // Select the menu MainMenuCallback(null); _bButtonWasPressed = false; } if (aButton == CCGamePadButtonStatus.Pressed) { _aButtonWasPressed = true; } else if (aButton == CCGamePadButtonStatus.Released && _aButtonWasPressed) { // Select the menu RestTestCase(); _aButtonWasPressed = false; } }
/// <summary> /// Overrides the OnCancel method to prevent the user from getting /// stuck in a blank screen. /// </summary> protected override void OnCancel(Microsoft.Xna.Framework.PlayerIndex playerIndex) { base.OnCancel(playerIndex); BlankTransitionScreen.Load(ScreenManager, false, playerIndex, new BackgroundScreen(), new MainMenuScreen()); }
private void SharedApplication_GamePadDPadUpdate(CCGamePadButtonStatus leftButton, CCGamePadButtonStatus upButton, CCGamePadButtonStatus rightButton, CCGamePadButtonStatus downButton, Microsoft.Xna.Framework.PlayerIndex player) { if (!Enabled) { return; } if (leftButton == CCGamePadButtonStatus.Released || upButton == CCGamePadButtonStatus.Released || rightButton == CCGamePadButtonStatus.Released || downButton == CCGamePadButtonStatus.Released) { m_bScrollingPrevious = false; m_lTimeOfLastFocus = 0L; } // Left and right d-pad shuffle through the menus else if (leftButton == CCGamePadButtonStatus.Pressed || upButton == CCGamePadButtonStatus.Pressed) { if (m_bScrollingPrevious) { TimeSpan ts = new TimeSpan(DateTime.Now.Ticks - m_lTimeOfLastFocus); if (ts.TotalMilliseconds > MenuScrollDelay) { FocusPreviousItem(); } } else { m_bScrollingPrevious = true; m_lTimeOfLastFocus = DateTime.Now.Ticks; } } else if (rightButton == CCGamePadButtonStatus.Pressed || downButton == CCGamePadButtonStatus.Pressed) { if (m_bScrollingNext) { TimeSpan ts = new TimeSpan(DateTime.Now.Ticks - m_lTimeOfLastFocus); if (ts.TotalMilliseconds > MenuScrollDelay) { FocusNextItem(); } } else { m_bScrollingNext = true; m_lTimeOfLastFocus = DateTime.Now.Ticks; } } }
public GamepadDevice(PlayerIndex player) { Player = player; _previousState = _currentState = GamePad.GetState(player); _blocked = new List<int>(); }
public override void HandleInput(Microsoft.Xna.Framework.PlayerIndex playerIndex) { }
public static KeyboardState GetState(Microsoft.Xna.Framework.PlayerIndex playerIndex) { throw new NotImplementedException(); }
private void MyOnGamePadButtonUpdate(CCGamePadButtonStatus backButton, CCGamePadButtonStatus startButton, CCGamePadButtonStatus systemButton, CCGamePadButtonStatus aButton, CCGamePadButtonStatus bButton, CCGamePadButtonStatus xButton, CCGamePadButtonStatus yButton, CCGamePadButtonStatus leftShoulder, CCGamePadButtonStatus rightShoulder, Microsoft.Xna.Framework.PlayerIndex player) { if (aButton == CCGamePadButtonStatus.Pressed) { _aButtonWasPressed = true; } else if (aButton == CCGamePadButtonStatus.Released && _aButtonWasPressed) { // Select the menu _Items[_CurrentItemIndex].Activate(); _Items[_CurrentItemIndex].Unselected(); } }
public void BeginTyping(PlayerIndex player) { _typing = true; }
private void MyOnGamePadDPadUpdate(CCGamePadButtonStatus leftButton, CCGamePadButtonStatus upButton, CCGamePadButtonStatus rightButton, CCGamePadButtonStatus downButton, Microsoft.Xna.Framework.PlayerIndex player) { // Down and Up only if (leftButton == CCGamePadButtonStatus.Pressed) { if (_FirstTicks == 0L) { _FirstTicks = DateTime.Now.Ticks; _bLeftPress = true; } } else if (leftButton == CCGamePadButtonStatus.Released && _FirstTicks > 0L && _bLeftPress) { _FirstTicks = 0L; PreviousTestCase(); _bLeftPress = false; } if (rightButton == CCGamePadButtonStatus.Pressed) { if (_FirstTicks == 0L) { _FirstTicks = DateTime.Now.Ticks; _bRightPress = true; } } else if (rightButton == CCGamePadButtonStatus.Released && _FirstTicks > 0L && _bRightPress) { _FirstTicks = 0L; NextTestCase(); _bRightPress = false; } }
protected override void OnGamePadTriggerUpdate(float leftTriggerStrength, float rightTriggerStrength, Microsoft.Xna.Framework.PlayerIndex player) { }