protected override void Update(GameTime gameTime) { //Final Updates if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed || Keyboard.GetState().IsKeyDown(Keys.Escape)) { Exit(); } //gamestate switch switch (GameManager.gameState) { case GameState.MainMenu: Camera.UpdateMainMenu(gameTime); //MapHandler.Update(gameTime); MapHandler.UpdateMainMenu(gameTime); //GUI.UpdateMainMenu(cursor.boundingBox); GUI.UpdateMainMenu(cursor.spriteBox); break; case GameState.Pause: break; case GameState.GameplayLoop: //normal gameplay MapHandler.Update(gameTime); PlayerManager.Update(gameTime); Camera.Update(); GUI.Update(); break; case GameState.Combat: //in combat break; case GameState.NewGame: GUI.UpdateNewGameMenu(cursor.spriteBox); break; default: break; } cursor.Update(gameTime); //independent of gamestate //testing updates if (Keyboard.GetState().IsKeyDown(Keys.P)) { SaveGame(); } if (Keyboard.GetState().IsKeyDown(Keys.O)) { LoadGame(); } //Console.WriteLine(ConsoleOutput); // uncomment after text implemented base.Update(gameTime); }