void SetPropertiesFromAsset() { m_text = m_textDefinitionAsset.Content.Text; m_alignement = m_textDefinitionAsset.Content.Alignement; m_alignementVertical = m_textDefinitionAsset.Content.AlignementVertical; m_style = m_textDefinitionAsset.Content.Style; }
public void DrawString(String text, Vector2 position, float scale, TextStyle style, TextAlignementHorizontal alignement, TextAlignementVertical alignementVertical) { Vector2 worldPos = position; SpriteFont font = style.Font != null ? style.Font : m_spriteFont; Vector2 stringSize = font.MeasureString(text); if (alignement == TextAlignementHorizontal.Center) { worldPos.X -= stringSize.X * 0.5f * style.Scale * scale; } if (alignement == TextAlignementHorizontal.Right) { worldPos.X -= stringSize.X * 1.0f * style.Scale * scale; } if (alignementVertical == TextAlignementVertical.Center) { worldPos.Y += stringSize.Y * 0.5f * style.Scale * scale; } if (alignementVertical == TextAlignementVertical.Down) { worldPos.Y += stringSize.Y * 1.0f * style.Scale * scale; } Point screenPos = m_currentCamera.WorldToScreen(worldPos); Vector2 halfSize = stringSize * style.Scale * 0.5f; SpriteBatch.DrawString(font, text, screenPos, style.Color, 0, Vector2.Zero, scale * style.Scale * m_cameraZoom * m_currentCamera.Zoom, SpriteEffects.None, 0); }