예제 #1
0
        private void CheckKeyboard()
        {
            bool didPlayerAct = false;

            KeyboardKeys key = screen.GetUserKey();

            if (CommandSystem.IsPlayerTurn)
            {
                switch (key)
                {
                case KeyboardKeys.UpLeft:
                    didPlayerAct = CommandSystem.MovePlayer(Direction.UpLeft);
                    break;

                case KeyboardKeys.Up:
                    didPlayerAct = CommandSystem.MovePlayer(Direction.Up);
                    break;

                case KeyboardKeys.UpRight:
                    didPlayerAct = CommandSystem.MovePlayer(Direction.UpRight);
                    break;

                case KeyboardKeys.Left:
                    didPlayerAct = CommandSystem.MovePlayer(Direction.Left);
                    break;

                case KeyboardKeys.Right:
                    didPlayerAct = CommandSystem.MovePlayer(Direction.Right);
                    break;

                case KeyboardKeys.DownLeft:
                    didPlayerAct = CommandSystem.MovePlayer(Direction.DownLeft);
                    break;

                case KeyboardKeys.Down:
                    didPlayerAct = CommandSystem.MovePlayer(Direction.Down);
                    break;

                case KeyboardKeys.DownRight:
                    didPlayerAct = CommandSystem.MovePlayer(Direction.DownRight);
                    break;

                case KeyboardKeys.QAbility:
                    didPlayerAct = Player.QAbility.Perform();
                    break;

                case KeyboardKeys.WAbility:
                    didPlayerAct = Player.WAbility.Perform();
                    break;

                case KeyboardKeys.EAbility:
                    didPlayerAct = Player.EAbility.Perform();
                    break;

                case KeyboardKeys.RAbility:
                    didPlayerAct = Player.RAbility.Perform();
                    break;

                case KeyboardKeys.StairsDown:
                    if (MapManager.CanMoveToNextLevel())
                    {
                        MoveMapLevelDown();
                        didPlayerAct = true;
                    }
                    break;

                case KeyboardKeys.CloseGame:
                    screen.CloseApp();
                    break;

                default:
                    break;
                }
                if (didPlayerAct)
                {
                    needRender = true;
                    CommandSystem.EndPlayerTurn();
                }
            }
        }