コード例 #1
0
        /// <summary>
        /// Apply a key-up event to the game.
        /// </summary>
        /// <param name="key"><see cref="PlayKey"/> to apply.</param>
        public void KeyUp(PlayKey key)
        {
            switch (key)
            {
            // Rotate Left
            case PlayKey.Left:
                _leftPressed = false;
                break;

            // Rotate Right
            case PlayKey.Right:
                _rightPressed = false;
                break;

            // Thrust
            case PlayKey.Up:
                _upPressed = false;
                break;

            // Hyperspace - require key up before key down
            case PlayKey.Down:
                _hyperspaceLastPressed = false;
                break;

            // Shooting - require key up before key down
            case PlayKey.Space:
                _shootingLastPressed = false;
                break;

            // Pause - require key up before key down
            case PlayKey.P:
                _pauseLastPressed = false;
                break;
            }
        }
コード例 #2
0
        public void KeyUp(PlayKey key)
        {
            // Rotate Left
            if (key == PlayKey.Left)
            {
                _leftPressed = false;
            }

            // Rotate Right
            else if (key == PlayKey.Right)
            {
                _rightPressed = false;
            }

            // Thrust
            else if (key == PlayKey.Up)
            {
                _upPressed = false;
            }

            // Hyperspace - require key up before key down
            else if (key == PlayKey.Down)
            {
                _hyperspaceLastPressed = false;
            }

            // Shooting - require key up before key down
            else if (key == PlayKey.Space)
            {
                _shootingLastPressed = false;
            }

            // Pause - require key up before key down
            else if (key == PlayKey.P)
            {
                _pauseLastPressed = false;
            }

            // Color change - require key up before key down
            else if (key == PlayKey.C)
            {
                _colorChangeLastPressed = false;
            }
        }
コード例 #3
0
        /// <summary
        /// </summary>
        /// <param name="key">1.left1  2.left2  3.right1  4.right2</param>
        /// <returns></returns>
        public static Keys GetPlayKey(PlayKey key)
        {
            switch (Player.Mode)
            {
            case PlayModes.Osu:
            {
                if (key == PlayKey.Left1 || key == PlayKey.Left2)
                {
                    return(BindingDictionary[Bindings.OsuLeft]);
                }
                else
                {
                    return(BindingDictionary[Bindings.OsuRight]);
                }
            }
            break;

            case PlayModes.Taiko:
            {
                if (key == PlayKey.Left1)
                {
                    return(BindingDictionary[Bindings.TaikoInnerLeft]);
                }
                else if (key == PlayKey.Left2)
                {
                    return(BindingDictionary[Bindings.TaikoInnerRight]);
                }
                else if (key == PlayKey.Right1)
                {
                    return(BindingDictionary[Bindings.TaikoOuterLeft]);
                }
                else if (key == PlayKey.Right2)
                {
                    return(BindingDictionary[Bindings.TaikoOuterRight]);
                }
            }
            break;
            }
            return(Keys.None);
        }
コード例 #4
0
    public void InitEvent(UnityAction <int> SetMusicalInstrumentEvent, UnityAction <string, int> PlayToneEvent, UnityAction <string> StopToneEvent, UnityAction <List <PlayKey> > ChangeToneEvent)
    {
        #region Event
        this.changeToneEvent = ChangeToneEvent;

        int length = key.childCount;

        for (int i = 0; i < length; i++)
        {
            PlayKey play = key.GetChild(i).GetComponent <PlayKey>();
            play.Init(PlayToneEvent, StopToneEvent);
            playKey.Add(play);
        }

        risingTune.Init(this.ChangeToneEvent);

        changeTune.Init(this.ChangeToneEvent);

        model.onValueChanged.AddListener(SetMusicalInstrumentEvent);
        model.value = -1;
        #endregion
    }
コード例 #5
0
 /// <summary>
 /// Processes a game-play key up.
 /// </summary>
 /// <param name="key"></param>
 public void KeyUp(PlayKey key)
 {
     _controller.KeyUp(key);
 }
コード例 #6
0
 /// <summary>
 /// Processes a game-play key down.
 /// </summary>
 /// <param name="key"></param>
 public void KeyDown(PlayKey key)
 {
     _controller.KeyDown(key);
 }
コード例 #7
0
        public void KeyDown(PlayKey key)
        {
            // Check escape key
            if (key == PlayKey.Escape) // Escape
            {
                // Escape during a title screen exits the game
                if (GameStatus == GameMode.Title)
                {
                    GameStatus = GameMode.Exit;
                }

                // Escape in game goes back to Title Screen
                else if (GameStatus == GameMode.Game)
                {
                    _scoreManager.CancelGame();
                    _currentTitle = new TitleScreen(_textManager, _screenCanvas);
                    GameStatus    = GameMode.Title;
                }
            }
            // Check O key
            if (key == PlayKey.O) // Options
            {
                // Pressing O during a title screen opens Options
                if (GameStatus == GameMode.Title)
                {
                    GameStatus = GameMode.Options;
                }
            }

            // Check C key
            if (key == PlayKey.C) // ShipColorChange
            {
                // Pressing C in Options will change color
                if (GameStatus == GameMode.Options)
                {
                    _options.shipColorChange();
                }
            }

            // Escape in Options goes back to Title Screen
            if (key == PlayKey.Escape)
            {
                _currentTitle = new TitleScreen(_textManager, _screenCanvas);
                GameStatus    = GameMode.Title;
            }


            else // Not Escape
            {
                // If we are in tht Title Screen, Start a game
                if (GameStatus == GameMode.Title)
                {
                    _scoreManager.ResetGame();
                    _game                  = new Game(_scoreManager, _textManager, _screenCanvas);
                    GameStatus             = GameMode.Game;
                    _leftPressed           = false;
                    _rightPressed          = false;
                    _upPressed             = false;
                    _hyperspaceLastPressed = false;
                    _shootingLastPressed   = false;
                    _pauseLastPressed      = false;
                }

                // Rotate Left
                else if (key == PlayKey.Left)
                {
                    _leftPressed = true;
                }

                // Rotate Right
                else if (key == PlayKey.Right)
                {
                    _rightPressed = true;
                }

                // Thrust
                else if (key == PlayKey.Up)
                {
                    _upPressed = true;
                }

                // Hyperspace (can't be held down)
                else if (!_hyperspaceLastPressed && key == PlayKey.Down)
                {
                    _hyperspaceLastPressed = true;
                    _game.Hyperspace();
                }

                // Shooting (can't be held down)
                else if (!_shootingLastPressed && key == PlayKey.Space)
                {
                    _shootingLastPressed = true;
                    _game.Shoot();
                }

                // Color can't be held down)
                else if (!_colorChangeLastPressed && key == PlayKey.C)
                {
                    _colorChangeLastPressed = true;
                    _options.shipColorChange();
                }

                // Pause can't be held down)
                else if (!_pauseLastPressed && key == PlayKey.P)
                {
                    _pauseLastPressed = true;
                    _game.Pause();
                }
            }
        }
コード例 #8
0
ファイル: GameController.cs プロジェクト: ymqc/AsteroidsWasm
        /// <summary>
        /// Apply a key-down event to the game.
        /// </summary>
        /// <param name="key"><see cref="PlayKey"/> to apply.</param>
        public void KeyDown(PlayKey key)
        {
            if (GameStatus == GameMode.Prep)
            {
                return;
            }

            // Check escape key
            if (key == PlayKey.Escape) // Escape
            {
                // Escape during a title screen exits the game
                if (GameStatus == GameMode.Title)
                {
                    GameStatus = GameMode.Exit;
                }

                // Escape in game goes back to Title Screen
                else if (GameStatus == GameMode.Game)
                {
                    _scoreManager.CancelGame();
                    _currentTitle = new TitleScreen(_textManager, _screenCanvas);
                    GameStatus    = GameMode.Title;
                }
            }
            else // Not Escape
            {
                // If we are in tht Title Screen, Start a game
                if (GameStatus == GameMode.Title)
                {
                    _scoreManager.ResetGame();
                    _game                  = new Game(_scoreManager, _textManager, _screenCanvas);
                    GameStatus             = GameMode.Game;
                    _leftPressed           = false;
                    _rightPressed          = false;
                    _upPressed             = false;
                    _hyperspaceLastPressed = false;
                    _shootingLastPressed   = false;
                    _pauseLastPressed      = false;
                }

                // Rotate Left
                else if (key == PlayKey.Left)
                {
                    _leftPressed = true;
                }

                // Rotate Right
                else if (key == PlayKey.Right)
                {
                    _rightPressed = true;
                }

                // Thrust
                else if (key == PlayKey.Up)
                {
                    _upPressed = true;
                }

                // Hyperspace (can't be held down)
                else if (!_hyperspaceLastPressed && key == PlayKey.Down)
                {
                    _hyperspaceLastPressed = true;
                    _game.Hyperspace();
                }

                // Shooting (can't be held down)
                else if (!_shootingLastPressed && key == PlayKey.Space)
                {
                    _shootingLastPressed = true;
                    _game.Shoot();
                }

                // Pause can't be held down)
                else if (!_pauseLastPressed && key == PlayKey.P)
                {
                    _pauseLastPressed = true;
                    _game.Pause();
                }
            }
        }
コード例 #9
0
        /// <summary>
        /// Apply a key-down event to the game.
        /// </summary>
        /// <param name="key"><see cref="PlayKey"/> to apply.</param>
        public void KeyDown(PlayKey key)
        {
            if (GameStatus == GameMode.Prep)
            {
                return;
            }

            // Check escape key
            if (key == PlayKey.Escape) // Escape
            {
                // Escape during a title screen exits the game
                if (GameStatus == GameMode.Title)
                {
                    GameStatus = GameMode.Exit;
                }

                // Escape in game goes back to Title Screen
                else if (GameStatus == GameMode.Game)
                {
                    _scoreManager.CancelGame();
                    _currentTitle = new TitleScreen(_textManager, _screenCanvas);
                    GameStatus    = GameMode.Title;
                }
                return;
            }

            // If we are in tht Title Screen, Start a game
            if (GameStatus == GameMode.Title)
            {
                _scoreManager.ResetGame();
                _game                  = new Game(_scoreManager, _textManager, _screenCanvas);
                GameStatus             = GameMode.Game;
                _leftPressed           = false;
                _rightPressed          = false;
                _upPressed             = false;
                _hyperspaceLastPressed = false;
                _shootingLastPressed   = false;
                _pauseLastPressed      = false;
                return;
            }

            switch (key)
            {
            case PlayKey.One:
                CurrentWeapon = Weapon.Laser;
                break;

            case PlayKey.Two:
                CurrentWeapon = Weapon.Rocket;
                break;

            // Rotate Left
            case PlayKey.Left:
                _leftPressed = true;
                break;

            // Rotate Right
            case PlayKey.Right:
                _rightPressed = true;
                break;

            // Thrust
            case PlayKey.Up:
                _upPressed = true;
                break;

            // Hyperspace (can't be held down)
            case PlayKey.Down when !_hyperspaceLastPressed:
                _hyperspaceLastPressed = true;
                _game.Hyperspace();
                break;

            // Shooting (can't be held down)
            case PlayKey.Space when !_shootingLastPressed:
                _shootingLastPressed = true;
                _game.Shoot(CurrentWeapon);
                break;

            // Shooting (can't be held down)
            case PlayKey.P when !_pauseLastPressed:
                _pauseLastPressed = true;
                _game.Pause();
                break;
            }
        }