Exemplo n.º 1
0
        public override void HandleInput(InputState input)
        {
            PlayerIndex playerIndex = PlayerIndex.One;

            if (true)
            {
                if (SelectedEntry == 0 && input.IsNewKeyPress(Keys.Enter, ControllingPlayer, out playerIndex))
                {
                    ExitScreen();
                    return;
                }

                if (SelectedEntry == 1 && input.IsNewKeyPress(Keys.Enter, ControllingPlayer, out playerIndex))
                {
                    LoadingScreen.Load(ScreenManager, true, playerIndex,
                                       new GameplayScreen(GameMode.SinglePlayer, _playerOneName, _playerTwoName));
                    return;
                }

                // Move to the previous menu entry?
                if (input.IsMenuUp(ControllingPlayer))
                {
                    SelectedEntry--;

                    if (SelectedEntry < -1)
                        SelectedEntry = 1;

                    if (SelectedEntry == -1)
                    {
                        _textInput = _playerOneName;
                    }

                    /*if (SelectedEntry == -1)
                    {
                        _textInput = _playerTwoName;
                    }*/
                }

                // Move to the next menu entry?
                if (input.IsMenuDown(ControllingPlayer))
                {
                    SelectedEntry++;

                    if (SelectedEntry > 1)
                        SelectedEntry = -1;

                    if (SelectedEntry == -1)
                    {
                        _textInput = _playerOneName;
                    }

                    /*if (SelectedEntry == -1)
                    {
                        _textInput = _playerTwoName;
                    }*/
                }

                /*if (textInput.Length > 9) {
                    return;
                }*/

                var i = (int) playerIndex;
                bool selected = false;
                string pressed = string.Empty;
                foreach (Keys key in input.CurrentKeyboardStates[i].GetPressedKeys())
                {
                    if (input.LastKeyboardStates[i].IsKeyUp(key) && !selected)
                    {
                        var keyNum = (int) key;
                        if (key == Keys.Back && _textInput.Length > 0)
                        {
                            _textInput = _textInput.Substring(0, _textInput.Length - 1);
                            return;
                        }
                        if (keyNum >= (int) Keys.A && keyNum <= (int) Keys.Z)
                        {
                            selected = true;
                            pressed = key.ToString();
                        }
                        else if (keyNum >= (int) Keys.D0 && keyNum <= (int) Keys.D9)
                        {
                            selected = true;
                            pressed = key.ToString().Substring(1, 1);
                        }
                    }
                    if ((key == Keys.RightShift || key == Keys.LeftShift))
                    {
                        _shiftKey = true;
                    }
                    else
                    {
                        _shiftKey = false;
                    }
                }

                if (!string.IsNullOrEmpty(pressed))
                {
                    if (!_shiftKey)
                    {
                        _textInput += pressed.ToLower();
                    }
                    else
                    {
                        _textInput += pressed.ToUpper();
                    }
                }

                if (SelectedEntry == -1)
                {
                    _playerOneName = _textInput;
                }

                /*if (SelectedEntry == -1)
                {
                    _playerTwoName = _textInput;
                }*/
            }
            /*else if (input.IsMenuCancel(ControllingPlayer, out playerIndex))
            {
                return;
            }
            else
            {
                base.HandleInput(input);
            }*/
        }
Exemplo n.º 2
0
        public override void HandleInput(InputState input)
        {
            // ReSharper disable TooWideLocalVariableScope
            PlayerIndex playerIndex = PlayerIndex.One;
            // ReSharper restore TooWideLocalVariableScope
            if (true)
            {
                if (waiting)
                {
                    foreach (Keys key in input.CurrentKeyboardStates[0].GetPressedKeys())
                    {
                        if (input.LastKeyboardStates[0].IsKeyUp(key))
                        {
                            switch (SelectedEntry)
                            {
                                case -5:
                                    pm.PlayerOne.Forward = key;
                                    break;
                               /* case -9:
                                    pm.PlayerTwo.Forward = key;
                                    break;*/
                                case -4:
                                    pm.PlayerOne.Backward = key;
                                    break;
                               /* case -7:
                                    pm.PlayerTwo.Backward = key;
                                    break;*/
                                case -3:
                                    pm.PlayerOne.Left = key;
                                    break;
                              /*  case -5:
                                    pm.PlayerTwo.Left = key;
                                    break;*/

                                case -2:
                                    pm.PlayerOne.Right = key;
                                    break;

                              /*  case -3:
                                    pm.PlayerTwo.Right = key;
                                    break;*/

                                case -1:
                                    pm.PlayerOne.Shoot = key;
                                    break;

                              /*  case -1:
                                    pm.PlayerTwo.Shoot = key;
                                    break;*/

                                default:
                                    break;
                            }

                            waiting = false;
                            return;
                        }
                    }
                }

                if (SelectedEntry == 0 && input.IsNewKeyPress(Keys.Enter, ControllingPlayer, out playerIndex))
                {
                    ExitScreen();
                    ((MainGame) ScreenManager.Game).PreferenceManager = previousPm;
                    return;
                }

                if (SelectedEntry == 1 && input.IsNewKeyPress(Keys.Enter, ControllingPlayer, out playerIndex))
                {
                    ExitScreen();
                    ((MainGame) ScreenManager.Game).PreferenceManager = pm;
                    return;
                }

                if (SelectedEntry >= -5 && SelectedEntry < 0 &&
                    input.IsNewKeyPress(Keys.Enter, ControllingPlayer, out playerIndex))
                {
                    switch (SelectedEntry)
                    {
                        case -5:
                            if (!waiting)
                            {
                                pm.PlayerOne.Forward = Keys.None;
                                waiting = true;
                            }
                            break;
                        /*case -9:
                            if (!waiting)
                            {
                                pm.PlayerTwo.Forward = Keys.None;
                                waiting = true;
                            }
                            break;*/
                        case -4:
                            if (!waiting)
                            {
                                pm.PlayerOne.Backward = Keys.None;
                                waiting = true;
                            }
                            break;
                        /*case -7:
                            if (!waiting)
                            {
                                pm.PlayerTwo.Backward = Keys.None;
                                waiting = true;
                            }
                            break;*/
                        case -3:
                            if (!waiting)
                            {
                                pm.PlayerOne.Left = Keys.None;
                                waiting = true;
                            }
                            break;
                        /*case -5:
                            if (!waiting)
                            {
                                pm.PlayerTwo.Left = Keys.None;
                                waiting = true;
                            }
                            break;*/

                        case -2:
                            if (!waiting)
                            {
                                pm.PlayerOne.Right = Keys.None;
                                waiting = true;
                            }
                            break;

                        /*case -3:
                            if (!waiting)
                            {
                                pm.PlayerTwo.Right = Keys.None;
                                waiting = true;
                            }
                            break;*/

                        case -1:
                            if (!waiting)
                            {
                                pm.PlayerOne.Shoot = Keys.None;
                                waiting = true;
                            }
                            break;

                        /*case -1:
                            if (!waiting)
                            {
                                pm.PlayerTwo.Shoot = Keys.None;
                                waiting = true;
                            }
                            break;*/

                        default:
                            break;
                    }
                    return;
                }

                // Move to the previous menu entry?
                if (input.IsMenuUp(ControllingPlayer))
                {
                    SelectedEntry--;

                    if (SelectedEntry < -5)
                        SelectedEntry = 1;
                }

                // Move to the next menu entry?
                if (input.IsMenuDown(ControllingPlayer))
                {
                    SelectedEntry++;

                    if (SelectedEntry > 1)
                        SelectedEntry = -5;
                }
            }

            if (SelectedEntry == -2)
            {
                //  playerOneName = textInput;
            }

            if (SelectedEntry == -1)
            {
                //   playerTwoName = textInput;
            }
        }