public static void GoToNextLevel(int levelIndex)
        {
            if (levelIndex == NumberOfLevels)
            {
                GameStateManager.SwitchTo(StateName_LevelMenu);
            }

            else
            {
                PlayingState playingState = (PlayingState)GameStateManager.GetGameState(StateName_Playing);
                playingState.LoadLevel(levelIndex + 1);
            }
        }
Beispiel #2
0
        public void PairFound(MovableAnimal penguin1, MovableAnimal penguin2)
        {
            int penguinType = MathHelper.Max(penguin1.AnimalIndex, penguin2.AnimalIndex);

            pairList.AddPair(penguinType);

            if (pairList.Completed)
            {
                PlayingState playingState = (PlayingState)ExtendedGame.GameStateManager.GetGameState(PenguinPairs.StateName_Playing);
                playingState.LevelCompleted(LevelIndex);
            }
            else
            {
                ExtendedGame.AssetManager.PlaySoundEffect("Sounds/snd_pair");
            }
        }
        public override void HandleInput(InputHelper inputHelper)
        {
            base.HandleInput(inputHelper);
            if (backButton.Pressed)
            {
                ExtendedGame.GameStateManager.SwitchTo(PenguinPairs.StateName_Title);
            }

            foreach (LevelButton button in levelButtons)
            {
                if (button.Pressed && button.Status != LevelStatus.Locked)
                {
                    ExtendedGame.GameStateManager.SwitchTo(PenguinPairs.StateName_Playing);
                    PlayingState playingstate = (PlayingState)ExtendedGame.GameStateManager.GetGameState(PenguinPairs.StateName_Playing);
                    playingstate.LoadLevel(button.LevelIndex);
                    return;
                }
            }
        }