public void StartLevel() { Console.WriteLine("Menu: StartLevel"); game.Services.RemoveService(typeof(MenuSoundManager)); game.Services.RemoveService(typeof(MenuInputController)); IGameLogicInputService inputController = Game.Services.GetService(typeof(IGameLogicInputService)) as IGameLogicInputService; inputController.start(); this.menuInputController.pause(); InputManager inputManager = Game.Services.GetService(typeof(InputManager)) as InputManager; inputManager.start(); if (!hudExists) { hudExists = true; Game.Components.Add(new HUDPuzzleBobble(this.game)); } renderer.start(); Game.Components.Remove(this); this.Dispose(); PuzzleBobble.setup_random_level(); Casanova.commit_variable_updates(); gameLogic.start(); }