SupaLidlGame/Extensions/Vector2.cs

39 lines
976 B
C#
Raw Normal View History

2022-11-27 19:37:16 -08:00
using Godot;
namespace SupaLidlGame.Extensions
{
public static class Vector2Extensions
{
public static Vector2 Midpoint(this Vector2 vector, Vector2 other)
{
2023-01-29 12:05:44 -08:00
return new Vector2((vector.X + other.X) / 2,
(vector.Y + other.Y) / 2);
2022-11-27 19:37:16 -08:00
}
public static Vector2 Midpoints(params Vector2[] vectors)
{
int length = vectors.Length;
float x = 0;
float y = 0;
for (int i = 0; i < length; i++)
{
2023-01-29 12:05:44 -08:00
x += vectors[i].X;
y += vectors[i].Y;
2022-11-27 19:37:16 -08:00
}
return new Vector2(x / length, y / length);
}
public static Vector2 Counterclockwise90(this Vector2 vector)
{
2023-01-29 12:05:44 -08:00
return new Vector2(-vector.Y, vector.X);
2022-11-27 19:37:16 -08:00
}
public static Vector2 Clockwise90(this Vector2 vector)
{
2023-01-29 12:05:44 -08:00
return new Vector2(vector.Y, -vector.X);
2022-11-27 19:37:16 -08:00
}
}
}