public void Draw(SpriteBatch spriteBatch, DrawContext ctx) { var size = ctx.Size; var color = ctx.Modulate.ModulateColor(Color); var radius = Radius; var position = ctx.Position; CustomDrawing.DrawRect(position + new Vector2(0, radius), size - new Vector2(0, radius * 2), color); CustomDrawing.DrawRect(position + new Vector2(radius, 0), new Vector2(size.X - radius * 2, radius), color); CustomDrawing.DrawRect(position + new Vector2(radius, size.Y - radius), new Vector2(size.X - radius * 2, radius), color); CustomDrawing.DrawCircleCorner(position, radius, color, TopLeft); CustomDrawing.DrawCircleCorner(position + new Vector2(size.X - radius, 0), radius, color, TopRight); CustomDrawing.DrawCircleCorner(position + new Vector2(0, size.Y - radius), radius, color, BottomLeft); CustomDrawing.DrawCircleCorner(position + new Vector2(size.X - radius, size.Y - radius), radius, color, BottomRight); }
public void DrawRect(Vector2 centrePos, Vector2 size, Color color, float angle) { CustomDrawing.DrawRect(_screenPos + centrePos, size, _modulate.ModulateColor(color), angle); UpdateDrawBounds(centrePos - size / 2, size); }
public void DrawRect(Vector2 position, Vector2 size, Color color) { CustomDrawing.DrawRect(_screenPos + position, size, _modulate.ModulateColor(color)); UpdateDrawBounds(position, size); }
public void Draw(SpriteBatch spriteBatch, DrawContext ctx) => CustomDrawing.DrawRect(ctx.Position, ctx.Size, ctx.Modulate.ModulateColor(Color));