Example #1
0
        public override void Update(GameTime gameTime, KinectInterface gameInput)
        {
            // Update buttons state

            _hc = new HandCursors();

            _gameOverMsg.Update(gameTime, gameInput);
            _backToMenuBtn.Update(gameTime, gameInput);
            _continueBtn.Update(gameTime, gameInput);
            _quitBtn.Update(gameTime, gameInput);

            _hc.Update(gameTime, gameInput);

            // Action
            if (_backToMenuBtn.IsPressed())
            {
                _nextScene = new MainMenu();
                _sceneFinished = true;
            }
            else if (_continueBtn.IsPressed())
            {
                switch (_fromLevel)
                {
                    case 1: _nextScene = new Level1(gameInput);
                        break;
                    case 2: _nextScene = new Level2(gameInput);
                        break;
                    default: _nextScene = null;
                        break;
                }

                _sceneFinished = true;
            }
            else if (_quitBtn.IsPressed())
            {
                _nextScene = null; // Game will quit
                _sceneFinished = true;
            }
        }
Example #2
0
        public override void Update(GameTime gameTime, KinectInterface gameInput)
        {
            // Update buttons state

            _victoryMsg.Update(gameTime, gameInput);
            _backToMenuBtn.Update(gameTime, gameInput);
            _quitBtn.Update(gameTime, gameInput);

            if (ScoreHolder.hasLevel1) _level1Box.Update(gameTime, gameInput);
            if (ScoreHolder.hasLevel2) _level2Box.Update(gameTime, gameInput);
            if (ScoreHolder.hasLevel1 && ScoreHolder.hasLevel2) _levelTotal.Update(gameTime, gameInput);

            _hc.Update(gameTime, gameInput);

            // Action
            if (_backToMenuBtn.IsPressed())
            {
                _nextScene = new MainMenu();
                _sceneFinished = true;
            }
            else if (_quitBtn.IsPressed())
            {
                _nextScene = null; // Game will quit
                _sceneFinished = true;
            }
        }
Example #3
0
        public override void Update(GameTime gameTime, KinectInterface gameInput)
        {
            _backToMenu.Update(gameTime, gameInput);
            if (_backToMenu.IsPressed())
            {
                _nextScene = new MainMenu();
                _sceneFinished = true;
            }

            /* TODO : Clean up all below (_step ?) */
            if (justStarted)
            {
                Level1CollectibleFactory.startNow(gameTime);
                justStarted = false;
                _eventTimer = gameTime.TotalGameTime.TotalSeconds;
            }
            if (Level1CollectibleFactory.doneSince(gameTime) > 10 & Level1CollectibleFactory.doneSince(gameTime) < 10.1)
            {
                _gameEventMessage.SetText("LEVEL CLEAR");
                squick.isDizzy = false;
                if(_modeAdventure) squick.SpeedY = -600;
                _bombEffect.Start(Fade.EFFECT.FADE_IN, Color.Black, 4000.0f);
            }
            if (Level1CollectibleFactory.doneSince(gameTime) > 15)
            {
                ScoreHolder.Level1 = _score;
                if (_modeAdventure) _nextScene = new Level2(gameInput);
                else _nextScene = new VictoryMenu();
                _sceneFinished = true;
            }

            // spawn items
            foreach (EntityFactory se in Level1CollectibleFactory.getSpawnAt(gameTime))
            {
                Entity item = se.asEntity();
                //item.Speed = new Vector2(0, GravitySpeed);
                items.Add(item);
            }

            // destroy items below screen
            List<Collectible> toBeDestroy = new List<Collectible>();
            foreach (Collectible item in items) // quick & dirty
            {
                item.Update(gameTime);

                if (item.Pos.Y > 600)
                {
                    toBeDestroy.Add(item);
                    continue;
                }

                // Collisions
                if (item.GetBoundingBox().Intersects(squick.GetBoundingBox()))
                {
                    // Update internal state
                    item.CollideWithPlayer(true);

                    // BONUS
                    if (item.GetBonus() > 0)
                    {
                        _bonusChain++;
                        _score += this.ComputeBonus(_bonusChain) * item.GetBonus();

                        // Display bonus text
                        if (this._bonusChain % BONUS_CHAIN_VALUE == 0)
                            _gameScoreMessage.SetText(_bonusChain.ToString() + " in a row!");

                    }
                    else
                    {
                        _bonusChain = 0;
                        _gameScoreMessage.SetText("");
                        _score += item.GetBonus();
                    }

                    // ADDITIONAL EFFECTS
                    // . Bomb effect
                    if (item is Bomb)
                    {
                        _bombEffect.Start(Fade.EFFECT.FADE_OUT, Color.White, 300.0f);
                    }

                    // Destroy item
                    toBeDestroy.Add(item);
                }

                // Remove if under the ground

            }

            foreach (Collectible i in toBeDestroy) { i.Destroy(); items.Remove(i); }

            /* Make squick bump */
            if ((squick.Pos.X < 36 && squick.Speed.X < leftBound)
                 || (squick.Pos.X + squick.Width > rightBound && squick.Speed.X > 0))
            {
                // Bounce
                squick.SpeedX *= -1;
                // Sound
                AudioManager.PlaySound(AudioManager.sound_bounce);
            }
            /* INGAME EVENTS */
            double time = Math.Round(gameTime.TotalGameTime.TotalSeconds - _eventTimer, 2);
            // Wave 1
            if (time == (double)Level1CollectibleFactory.WAVE_1)
            {
                _gameEventMessage.SetText("");
                _gameEventMessage.SetMode(Message.DISPLAY_BLINK, 250);
            }
            // Wave 2
            if (time == (double)Level1CollectibleFactory.WAVE_2 - 1)
                _gameEventMessage.SetText("     Warning!!");
            if (time == (double)Level1CollectibleFactory.WAVE_2 + 2)
                _gameEventMessage.SetText("");
            // Wave 3
            if (time == (double)Level1CollectibleFactory.WAVE_3 - 3)
                _gameEventMessage.SetText("     Speed-up!");
            if (time == (double)Level1CollectibleFactory.WAVE_3)
                _gameEventMessage.SetText("");
            // Wave 4
            if (time == (double)Level1CollectibleFactory.WAVE_4 - 2)
                _gameEventMessage.SetText("     Warning!");
            if (time == (double)Level1CollectibleFactory.WAVE_4 + 3)
                _gameEventMessage.SetText("");
            // Wave 5
            if (time == (double)Level1CollectibleFactory.WAVE_5 - 3)
                _gameEventMessage.SetText("     Stay focused!");
            if (time == (double)Level1CollectibleFactory.WAVE_5)
                _gameEventMessage.SetText("");
            // Wave 6
            if (time == (double)Level1CollectibleFactory.WAVE_6 - 1)
                _gameEventMessage.SetText("     Warning!");
            if (time == (double)Level1CollectibleFactory.WAVE_6 + 2)
                _gameEventMessage.SetText("");
            // Wave 7
            if (time == (double)Level1CollectibleFactory.WAVE_7 - 3)
                _gameEventMessage.SetText("     Speed-up!");
            if (time == (double)Level1CollectibleFactory.WAVE_7)
                _gameEventMessage.SetText("");

            // HUD update
            _HUD_score.Update(_score,this.ComputeBonus(_bonusChain));
            _gameEventMessage.Update(gameTime);
            _gameScoreMessage.Update(gameTime);

            // Special effects
            _bombEffect.Update(gameTime);

            squick.Update(gameTime);
        }