public override void Draw(GameTime gameTime) { switch (_currentState) { case States.Playing: _spriteBatch.Begin(SpriteSortMode.FrontToBack); if (_showGrid) { foreach (var grid in _grids) { grid.Draw(gameTime, _spriteBatch); } } _currentArea.Draw(gameTime, _spriteBatch); _player.Draw(gameTime, _spriteBatch); _spriteBatch.End(); break; case States.Battle: _battleState.Draw(gameTime); break; case States.AfterBattle: _afterBattleState.Draw(gameTime); break; case States.Paused: _pauseState.Draw(gameTime); break; case States.Map: _mapState.Draw(gameTime); break; default: break; } _spriteBatch.Begin(); _transition.Draw(gameTime, _spriteBatch); _spriteBatch.End(); }