public static Vector3[] GetPointsOnCirlce(Vector3 origin, float radius, float steps = 50)
{
var points = new List<Vector3>();
var origin2D = origin.To2D();
for (float a = 0; a < 360; a = a + steps) // For each angle via steps
{
var x = origin2D.X + (radius * Math.Cos(a.ToRadians()));
var y = origin2D.Y + (radius * Math.Sin(a.ToRadians()));
points.Add(new Vector3((float)x, (float)y, origin.Z));
}
return points.ToArray();
}
public static Vector3[] GetPossiableMovements(Vector3 origin, bool reverse = false, float step = 50, float minDistance = 200, float maxDistance = 500)