Exemplo n.º 1
0
        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));
        }
Exemplo n.º 2
0
        private GamePadController(PlayerIndex index)
        {
            this.capabilities = GamePad.GetCapabilities(index);
            this.PlayerIndex  = index;

            this.Name = $"{index}-{this.capabilities.GamePadType.ToString()}";

            Controllers[(int)index] = this;
        }
Exemplo n.º 3
0
 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);
 }
Exemplo n.º 4
0
        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());
        }
Exemplo n.º 5
0
        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);
                    };
            }
        }
Exemplo n.º 6
0
 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;
     }
 }
Exemplo n.º 7
0
 /// <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;
             }
         }
     }
 }
Exemplo n.º 8
0
 public KeyboardDevice(PlayerIndex player)
     : this(player, IntPtr.Zero)
 {
 }
Exemplo n.º 9
0
 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)
 {
 }
Exemplo n.º 10
0
 protected override void OnGamePadConnectionUpdate(Microsoft.Xna.Framework.PlayerIndex player, bool IsConnected)
 {
 }
Exemplo n.º 11
0
 protected override void OnGamePadDPadUpdate(CCGamePadButtonStatus leftButton, CCGamePadButtonStatus upButton, CCGamePadButtonStatus rightButton, CCGamePadButtonStatus downButton, Microsoft.Xna.Framework.PlayerIndex player)
 {
     if (!HasFocus)
     {
         return;
     }
 }
Exemplo n.º 12
0
 protected override void OnGamePadStickUpdate(CCGameStickStatus leftStick, CCGameStickStatus rightStick, Microsoft.Xna.Framework.PlayerIndex player)
 {
 }
Exemplo n.º 13
0
 public static bool IsGamePadConnectedAt(PlayerIndex index)
 {
     return(GamePad.GetState(index).IsConnected);
 }
Exemplo n.º 14
0
 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;
     }
 }
Exemplo n.º 15
0
        /// <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());
        }
Exemplo n.º 16
0
 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;
         }
     }
 }
Exemplo n.º 17
0
 public GamepadDevice(PlayerIndex player)
 {
     Player = player;
     _previousState = _currentState = GamePad.GetState(player);
     _blocked = new List<int>();
 }
Exemplo n.º 18
0
 public override void HandleInput(Microsoft.Xna.Framework.PlayerIndex playerIndex)
 {
 }
Exemplo n.º 19
0
 public static KeyboardState GetState(Microsoft.Xna.Framework.PlayerIndex playerIndex)
 {
     throw new NotImplementedException();
 }
Exemplo n.º 20
0
 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();
     }
 }
Exemplo n.º 21
0
 public void BeginTyping(PlayerIndex player)
 {
     _typing = true;
 }
Exemplo n.º 22
0
 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;
     }
 }
Exemplo n.º 23
0
 protected override void OnGamePadTriggerUpdate(float leftTriggerStrength, float rightTriggerStrength, Microsoft.Xna.Framework.PlayerIndex player)
 {
 }