sneak/Shared/ExtensionMethods.cs
Colin McMillen c213009134 Add Text.DrawOutlined() function & other text helpers.
GitOrigin-RevId: 47f9115767c9acac31edaed13ba0ac62732a27f1
2020-02-27 15:46:54 -05:00

29 lines
918 B
C#

using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Graphics;
// All extension methods on built-in types (of C# or MonoGame) go in this file.
// Methods are ordered alphabetically by type name.
namespace SemiColinGames {
static class ExtensionMethods {
// Point
public static void Deconstruct(this Point point, out int x, out int y) =>
(x, y) = (point.X, point.Y);
// SpriteFont
public static Vector2 CenteredOn(this SpriteFont font, string text, Point position) {
Vector2 size = font.MeasureString(text);
return new Vector2(position.X - (int) size.X / 2, position.Y - (int) size.Y / 2);
}
// Vector2
public static Vector2 Rotate(this Vector2 point, float angle) {
float cos = FMath.Cos(angle);
float sin = FMath.Sin(angle);
return new Vector2(
point.X * cos - point.Y * sin,
point.Y * cos + point.X * sin);
}
}
}