public void update(GameTime gametime) { camera.update(gametime, new Vector2(840, 0)); keyboardstate = Keyboard.GetState(); switch (gametype) { case GameType.Menu_Base_Type: menubase.update(gametime, ref gametype, ref previousgametype); previousgametype = GameType.Exit; break; case GameType.Menu_Play_Type: menuplay.update(gametime, ref gametype, ref previousgametype); previousgametype = GameType.Menu_Base_Type; break; case GameType.Menu_Play_Solo_Type: menuSolo.update(gametime, ref gametype, ref previousgametype); previousgametype = GameType.Menu_Play_Type; break; case GameType.Menu_Play_Solo_World1_Type: menusolo1.update(gametime, ref gametype, ref previousgametype); previousgametype = GameType.Menu_Play_Solo_Type; break; case GameType.Menu_Play_Solo_World2_Type: menusolo2.update(gametime, ref gametype, ref previousgametype); previousgametype = GameType.Menu_Play_Solo_Type; break; case GameType.Menu_Play_Multi_Type: // menuMulti.update(gametime, ref gametype, ref previousgametype); camera.update(gametime, casper.Position); casper.update(gametime, controls, gametype, level1); player2.update(gametime, controlsPlayer2, gametype, level1); Game1.GetGame().IsMouseVisible = false; if (keyboardstate.IsKeyDown(Keys.Escape) && previouskeyboardstate.IsKeyUp(Keys.Escape)) { previousgametype = GameType.Menu_Play_Multi_Type; casper.update(gametime, controls, gametype, level1); player2.update(gametime, controlsPlayer2, gametype, level1); Game1.GetGame().IsMouseVisible = true; MediaPlayer.Stop(); MediaPlayer.Play(SoundManager.pause); gametype = GameType.Menu_Pause; } previouskeyboardstate = keyboardstate; break; case GameType.Menu_Option_Type: menuoptions.update(gametime, ref gametype, ref previousgametype); previousgametype = GameType.Menu_Base_Type; break; case GameType.Menu_Play_Solo_world1_lvl1: camera.update(gametime, casper.Position); casper.update(gametime, controls, gametype, level1); Game1.GetGame().IsMouseVisible = false; if (keyboardstate.IsKeyDown(Keys.Escape) && previouskeyboardstate.IsKeyUp(Keys.Escape)) { //casper.update(gametime); Game1.GetGame().IsMouseVisible = true; MediaPlayer.Stop(); MediaPlayer.Play(SoundManager.pause); gametype = GameType.Menu_Pause; previousgametype = GameType.Menu_Play_Solo_world1_lvl1; } previouskeyboardstate = keyboardstate; break; case GameType.Menu_Play_Solo_world2_lvl1: camera.update(gametime, casper2.Position); casper2.update(gametime, controlsPlayer2, gametype, level1); Game1.GetGame().IsMouseVisible = false; if (keyboardstate.IsKeyDown(Keys.Escape) && previouskeyboardstate.IsKeyUp(Keys.Escape)) { //casper.update(gametime); Game1.GetGame().IsMouseVisible = true; MediaPlayer.Stop(); MediaPlayer.Play(SoundManager.pause); gametype = GameType.Menu_Pause; previousgametype = GameType.Menu_Play_Solo_world2_lvl1; } previouskeyboardstate = keyboardstate; break; case GameType.Exit: Game1.GetGame().Exit(); break; case GameType.Menu_Pause: camera.update(gametime, casper.Position); if (keyboardstate.IsKeyDown(Keys.Escape) && previouskeyboardstate.IsKeyUp(Keys.Escape)) { Game1.GetGame().IsMouseVisible = false; gametype = previousgametype; MediaPlayer.Stop(); MediaPlayer.Play(SoundManager.ingame); } menupause.update(gametime, ref gametype, ref previousgametype, camera.centre); previouskeyboardstate = keyboardstate; break; case GameType.Menu_Pause_Option: camera.update(gametime, casper.Position); menupauseoption.update(gametime, ref gametype, ref previousgametype, camera.centre); break; default: menubase.update(gametime, ref gametype, ref previousgametype); break; } }