public void Render(float elapsedTime, SpriteBatch spriteBatch, RenderTarget2D currentTransitionRenderTarget = null)
        {
            spriteBatch.GraphicsDevice.Clear(Color.Black);

            _levelRenderer.DrawBaseLayer();
            _itemRenderer.RenderItems(_level, elapsedTime);
            _levelRenderer.DrawFringeLayer();
            _figureRenderer.RenderDead(_level, elapsedTime);
            _bombRenderer.Render(_level);
            _figureRenderer.RenderAlive(_level, elapsedTime);
            _explosionRenderer.Render(_level, elapsedTime);

            _gameInformation.Draw(spriteBatch);
        }
        public void Render(float elapsedTime, SpriteBatch spriteBatch, RenderTarget2D currentTransitionRenderTarget = null)
        {
            spriteBatch.End();

            _context.Update();

            _graphicsDevice.BlendState        = BlendState.Opaque;
            _graphicsDevice.DepthStencilState = DepthStencilState.Default;

            DrawNormalDepthForCelShading();
            DrawDepthForShadows();
            DrawSceneWithCelShading();
            DrawPostProcessEdgeDetection(spriteBatch, currentTransitionRenderTarget);

            _explosionFragmentManager.Render(_context);

            spriteBatch.Begin(SpriteSortMode.Deferred, BlendState.AlphaBlend, null, null, null);

            _gameInformation.Draw(spriteBatch);
        }