Danmaku_no_Kyojin.Screens.ImprovementScreen.Draw C# (CSharp) Метод

Draw() публичный Метод

public Draw ( GameTime gameTime ) : void
gameTime Microsoft.Xna.Framework.GameTime
Результат void
        public override void Draw(GameTime gameTime)
        {
            ControlManager.Draw(GameRef.SpriteBatch);

            GameRef.SpriteBatch.Begin();

            GameRef.SpriteBatch.Draw(_background, new Rectangle(0, 0, Config.Resolution.X, Config.Resolution.Y), Color.GreenYellow);

            // Title
            GameRef.SpriteBatch.DrawString(_titleFont, _title,
                new Vector2(
                    Game.GraphicsDevice.Viewport.Width / 2f - _titleFont.MeasureString(_title).X / 2 + 5,
                    Game.GraphicsDevice.Viewport.Height / 2f - (_titleFont.MeasureString(_title).Y * 3) + 5),
                Color.Black);
            GameRef.SpriteBatch.DrawString(_titleFont, _title,
                new Vector2(
                    Game.GraphicsDevice.Viewport.Width / 2f - _titleFont.MeasureString(_title).X / 2,
                    Game.GraphicsDevice.Viewport.Height / 2f - (_titleFont.MeasureString(_title).Y * 3)),
                Color.White);

            // Credits
            GameRef.SpriteBatch.DrawString(ControlManager.SpriteFont, _credits,
                new Vector2(
                    Game.GraphicsDevice.Viewport.Width / 2f - ControlManager.SpriteFont.MeasureString(_credits).X / 2 + 1,
                    100 + 1),
                Color.Black);
            GameRef.SpriteBatch.DrawString(ControlManager.SpriteFont, _credits,
                new Vector2(
                    Game.GraphicsDevice.Viewport.Width / 2f - ControlManager.SpriteFont.MeasureString(_credits).X / 2,
                    100),
                Color.White);

            var menuTextOrigin = new Point(300, 150);
            int lineHeight = 40;
            Color color;
            for (int i = 0; i < _menuText.Length; i++)
            {
                color = Color.White;
                GameRef.SpriteBatch.DrawString(ControlManager.SpriteFont, _menuText[i], new Vector2(menuTextOrigin.X + 1, menuTextOrigin.Y + lineHeight * i + 1), Color.Black);
                GameRef.SpriteBatch.DrawString(ControlManager.SpriteFont, _menuText[i], new Vector2(menuTextOrigin.X, menuTextOrigin.Y + lineHeight * i), Color.White);

                if (_menuIndex == i)
                    color = Color.Red;

                GameRef.SpriteBatch.DrawString(ControlManager.SpriteFont, "Buy", new Vector2(menuTextOrigin.X + 500 + 1, menuTextOrigin.Y + lineHeight * i + 1), Color.Black);
                GameRef.SpriteBatch.DrawString(ControlManager.SpriteFont, "Buy", new Vector2(menuTextOrigin.X + 500, menuTextOrigin.Y + lineHeight * i), color);
            }

            // Back
            color = Color.White;
            if (_menuIndex == _menuText.Length)
                color = Color.Red;

            string back = "Back to title";

            GameRef.SpriteBatch.DrawString(ControlManager.SpriteFont, back, new Vector2(
                Config.Resolution.X / 2f - ControlManager.SpriteFont.MeasureString(back).X / 2 + 1,
                menuTextOrigin.Y + lineHeight * _menuText.Length + 1),
            Color.Black);
            GameRef.SpriteBatch.DrawString(ControlManager.SpriteFont, back, new Vector2(
                Config.Resolution.X / 2f - ControlManager.SpriteFont.MeasureString(back).X / 2,
                menuTextOrigin.Y + lineHeight * _menuText.Length),
            color);

            // Errors
            if (_error != null)
            {
                GameRef.SpriteBatch.DrawString(ControlManager.SpriteFont, _error,
                                               new Vector2(
                                                   Game.GraphicsDevice.Viewport.Width/2f -
                                                   ControlManager.SpriteFont.MeasureString(_error).X/2 + 1,
                                                   Config.Resolution.Y - 40 + 1),
                                               Color.Black);
                GameRef.SpriteBatch.DrawString(ControlManager.SpriteFont, _error,
                                               new Vector2(
                                                   Game.GraphicsDevice.Viewport.Width/2f -
                                                   ControlManager.SpriteFont.MeasureString(_error).X/2,
                                                   Config.Resolution.Y - 40),
                                               Color.White);
            }

            GameRef.SpriteBatch.End();

            base.Draw(gameTime);
        }