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; } }
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; } }
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); }