Exemple #1
0
        private void UpdateState()
        {
            KeyboardState currentKState = Keyboard.GetState();

            if ((currentKState.IsKeyDown(Keys.Down) && KState.IsKeyUp(Keys.Down)) ||
                (currentKState.IsKeyDown(Keys.S) && KState.IsKeyUp(Keys.S)))
            {
                ChangeState(false);
            }

            if ((currentKState.IsKeyDown(Keys.Up) && (KState.IsKeyUp(Keys.Up)) ||
                 (currentKState.IsKeyDown(Keys.W)) && KState.IsKeyUp(Keys.W)))
            {
                ChangeState(true);
            }

            if ((currentKState.IsKeyDown(Keys.D) && KState.IsKeyUp(Keys.D)) ||
                (currentKState.IsKeyDown(Keys.Right) && KState.IsKeyUp(Keys.Left)) ||
                (currentKState.IsKeyDown(Keys.Enter) && KState.IsKeyUp(Keys.Enter)) ||
                (currentKState.IsKeyDown(Keys.Space) && KState.IsKeyUp(Keys.Space)))
            {
                switch (MState)
                {
                case MenuState.NEW_GAME:
                    ScreenManager.Instance.SwitchScreen(ScreenState.Game, LName);
                    break;

                case MenuState.LOAD_GAME:
                    break;

                case MenuState.OPTIONS:
                    MState = MenuState.SOUND;
                    MLable = MState.ToString() + " : " + IsSoundOn.ToString();
                    break;

                case MenuState.EXIT:
                    ScreenManager.Instance.Exit();
                    break;

                case MenuState.SOUND:
                    IsSoundOn = !IsSoundOn;
                    MLable    = MState.ToString() + " : " + IsSoundOn.ToString();
                    break;

                case MenuState.RESOLUTION:
                    switch (ResolutionCurrent)
                    {
                    case ResolutionState.R1280x720: ResolutionCurrent = ResolutionState.R1600x900; break;

                    case ResolutionState.R1600x900: ResolutionCurrent = ResolutionState.R1920x1080; break;

                    case ResolutionState.R1920x1080: ResolutionCurrent = ResolutionState.R1280x720; break;
                    }
                    MLable = MState.ToString() + " : " + ResolutionCurrent.ToString();
                    ScreenManager.Instance.Resize(ResolutionCurrent);
                    break;

                case MenuState.BACK:
                    MState = MenuState.OPTIONS;
                    MLable = MState.ToString();
                    break;
                }
            }
            KState = currentKState;
        }
Exemple #2
0
        private void ChangeState(bool up)
        {
            switch (MState)
            {
            case MenuState.NEW_GAME:
                if (!up)
                {
                    MState = MenuState.LOAD_GAME;
                }
                else
                {
                    MState = MenuState.EXIT;
                }
                break;

            case MenuState.LOAD_GAME:
                if (!up)
                {
                    MState = MenuState.OPTIONS;
                }
                else
                {
                    MState = MenuState.NEW_GAME;
                }
                break;

            case MenuState.OPTIONS:
                if (!up)
                {
                    MState = MenuState.EXIT;
                }
                else
                {
                    MState = MenuState.LOAD_GAME;
                }
                break;

            case MenuState.EXIT:
                if (!up)
                {
                    MState = MenuState.NEW_GAME;
                }
                else
                {
                    MState = MenuState.OPTIONS;
                }
                break;

            case MenuState.SOUND:
                if (!up)
                {
                    MState = MenuState.RESOLUTION;
                }
                else
                {
                    MState = MenuState.BACK;
                }
                break;

            case MenuState.RESOLUTION:
                if (!up)
                {
                    MState = MenuState.BACK;
                }
                else
                {
                    MState = MenuState.SOUND;
                }
                break;

            case MenuState.BACK:
                if (!up)
                {
                    MState = MenuState.SOUND;
                }
                else
                {
                    MState = MenuState.RESOLUTION;
                }
                break;
            }

            MLable = MState.ToString();

            switch (MState)
            {
            case MenuState.SOUND: MLable += " : " + IsSoundOn.ToString(); break;

            case MenuState.RESOLUTION: MLable += " : " + ResolutionCurrent.ToString(); break;

            default: break;
            }
        }