RenderingLibrary.Graphics.SpriteRenderer.DrawString C# (CSharp) Method

DrawString() private method

private DrawString ( SpriteFont font, string line, Vector2 offset, Color color, object objectRequestingChange ) : void
font Microsoft.Xna.Framework.Graphics.SpriteFont
line string
offset Vector2
color Color
objectRequestingChange object
return void
        internal void DrawString(SpriteFont font, string line, Vector2 offset, Color color, object objectRequestingChange)
        {
            mSpriteBatch.DrawString(font, line, offset, color, objectRequestingChange);
        }

Usage Example

Beispiel #1
0
        private void RenderUsingSpriteFont(SpriteRenderer spriteRenderer)
        {

            Vector2 offset = new Vector2(this.Renderer.Camera.RenderingXOffset, Renderer.Camera.RenderingYOffset);

            float leftSide = offset.X + this.GetAbsoluteX();
            float topSide = offset.Y + this.GetAbsoluteY();

            SpriteFont font = LoaderManager.Self.DefaultFont;
            // Maybe this hasn't been loaded yet?
            if (font != null)
            {
                switch (this.VerticalAlignment)
                {
                    case Graphics.VerticalAlignment.Top:
                        offset.Y = topSide;
                        break;
                    case Graphics.VerticalAlignment.Bottom:
                        {
                            float requiredHeight = (this.mWrappedText.Count) * font.LineSpacing;

                            offset.Y = topSide + (this.Height - requiredHeight);

                            break;
                        }
                    case Graphics.VerticalAlignment.Center:
                        {
                            float requiredHeight = (this.mWrappedText.Count) * font.LineSpacing;

                            offset.Y = topSide + (this.Height - requiredHeight) / 2.0f;
                            break;
                        }
                }



                float offsetY = offset.Y;

                for (int i = 0; i < mWrappedText.Count; i++)
                {
                    offset.X = leftSide;
                    offset.Y = (int)offsetY;

                    string line = mWrappedText[i];

                    if (HorizontalAlignment == Graphics.HorizontalAlignment.Right)
                    {
                        offset.X = leftSide + (Width - font.MeasureString(line).X);
                    }
                    else if (HorizontalAlignment == Graphics.HorizontalAlignment.Center)
                    {
                        offset.X = leftSide + (Width - font.MeasureString(line).X) / 2.0f;
                    }

                    offset.X = (int)offset.X; // so we don't have half-pixels that render weird

                    spriteRenderer.DrawString(font, line, offset, Color, this);
                    offsetY += LoaderManager.Self.DefaultFont.LineSpacing;
                }
            }
        }
All Usage Examples Of RenderingLibrary.Graphics.SpriteRenderer::DrawString