private void DrawToRenderTarget()
        {
            GraphicsDevice.SetRenderTarget(_charRenderTarget);
            GraphicsDevice.Clear(Color.Transparent);
            _sb.Begin(SpriteSortMode.FrontToBack, BlendState.AlphaBlend);

            var characterPropertyRenderers = _characterPropertyRendererBuilder
                                             .BuildList(_characterTextures, RenderProperties)
                                             .Where(x => x.CanRender);

            foreach (var renderer in characterPropertyRenderers)
            {
                renderer.Render(_sb, DrawArea);
            }

            if (_gameStateProvider.CurrentState == GameStates.None)
            {
                _sb.Draw(_outline, DrawArea.WithSize(DrawArea.Width, 1), Color.Black);
                _sb.Draw(_outline, DrawArea.WithPosition(new Vector2(DrawArea.X + DrawArea.Width, DrawArea.Y)).WithSize(1, DrawArea.Height), Color.Black);
                _sb.Draw(_outline, DrawArea.WithPosition(new Vector2(DrawArea.X, DrawArea.Y + DrawArea.Height)).WithSize(DrawArea.Width, 1), Color.Black);
                _sb.Draw(_outline, DrawArea.WithSize(1, DrawArea.Height), Color.Black);
            }

            _sb.End();
            GraphicsDevice.SetRenderTarget(null);
        }
Beispiel #2
0
        private void DrawToRenderTarget()
        {
            GraphicsDevice.SetRenderTarget(_charRenderTarget);
            GraphicsDevice.Clear(Color.Transparent);
            _sb.Begin(SpriteSortMode.Deferred, BlendState.AlphaBlend);

            var characterPropertyRenderers = _characterPropertyRendererBuilder
                                             .BuildList(_characterTextures, RenderProperties)
                                             .Where(x => x.CanRender);

            foreach (var renderer in characterPropertyRenderers)
            {
                renderer.Render(_sb, DrawArea);
            }

            _sb.End();
            GraphicsDevice.SetRenderTarget(null);
        }