public void ChangeState(GameStates newState) { switch (newState) { case GameStates.Menu: if (gameState == GameStates.Start) { menuComponent = new MenuComponent(this); Components.Add(menuComponent); } else if (gameState == GameStates.HighScores) { Components.Remove(highScoresComponent); menuComponent.Enabled = true; menuComponent.Visible = true; } else { Components.Remove(gameTab); Components.Remove(pauseComponent); if (gameState == GameStates.End) Components.Remove(endComponent); menuComponent.Enabled = true; menuComponent.Visible = true; } break; case GameStates.HighScores: menuComponent.Enabled = false; menuComponent.Visible = false; highScoresComponent = new HighScoresComponent(this); Components.Add(highScoresComponent); break; case GameStates.Game: if (gameState == GameStates.Menu) { menuComponent.Enabled = false; menuComponent.Visible = false; gameTab = new GameTab(this, menuComponent.buttonManager.getButtonValue(0)); Components.Add(gameTab); pauseComponent = new PauseComponent(this); pauseComponent.Enabled = false; pauseComponent.Visible = false; Components.Add(pauseComponent); } else if (gameState == GameStates.Pause) { gameTab.Enabled = true; pauseComponent.Enabled = false; pauseComponent.Visible = false; } break; case GameStates.Pause: gameTab.Enabled = false; pauseComponent.Enabled = true; pauseComponent.Visible = true; break; case GameStates.End: gameTab.Enabled = false; gameTab.Visible = false; pauseComponent.Enabled = false; pauseComponent.Visible = false; endComponent = new EndComponent(this, gameTab.information.FormScore()); Components.Add(endComponent); break; } gameState = newState; }
protected override void Initialize() { menuComponent = new MenuComponent(this); Components.Add(menuComponent); gameState = GameStates.Menu; keyState = Keyboard.GetState(); prevKeyState = Keyboard.GetState(); base.Initialize(); }