Exemplo n.º 1
0
 private void PrepareNextMinigame()
 {
     if (_house.CurrentRoom == House.Room.livingRoom)
     {
         if (_kitchenGames.Count == 0)
         {
             InitializeKitchenMinigames();
         }
         _nextMinigame = GetRandomMinigame(_kitchenGames);
         _nextMinigame.PlaceItemsLeft();
     }
     else if (_house.CurrentRoom == House.Room.kitchen)
     {
         if (_livingRoomGames.Count == 0)
         {
             InitializeLivingRoomMinigames();
         }
         _nextMinigame = GetRandomMinigame(_livingRoomGames);
         _nextMinigame.PlaceItemsRight();
     }
 }
Exemplo n.º 2
0
        public override void Update(GameTime gameTime)
        {
            if (IsKeyEvent(Keys.Escape))
            {
                _overlays.Add(_pauseScreen);
            }

            // Abstract in own method
            if (IsOverlayActive(_pauseScreen))
            {
                if (_pauseScreen.ExitButton.IsClicked)
                {
                    Game.Exit();
                }

                if (_pauseScreen.ResumeButton.IsClicked)
                {
                    _overlays.Remove(_pauseScreen);
                }
            }

            if (_state == State.intro)
            {
                _introSound.PlayOnce(gameTime);

                if (HasTotalSecondsPassed(_introSound.TimeFinished + 3))
                {
                    _currentMiniGame = _livingRoomGames.First();
                    _livingRoomGames.Remove(_currentMiniGame);
                    _currentMiniGame.Start();
                    _state = State.minigame;
                }
            }

            if (_state == State.minigame)
            {
                Minigame(gameTime);

                if (_house.IsDoneSliding)
                {

                    _house.SwapRoom();

                    MakeNextMinigameCurrentMinigame(); // By lack of a better name
                    _currentMiniGame.Start();
                    _dog.MoveHorizontal((int)Center.X - _dog.SpriteWidth / 2);

                }

                _currentMiniGame.Update(gameTime);
                if (_nextMinigame != null)
                    _nextMinigame.Update(gameTime);
            }

            base.Update(gameTime);
        }
Exemplo n.º 3
0
 private void MakeNextMinigameCurrentMinigame()
 {
     // We have to shuffle places because we need to free up nextMinigame
     _currentMiniGame = _nextMinigame;
     _nextMinigame = null;
 }