Hi Aron, since I need to get nodes in a circle area in my 2d game, I abstracted an interface from the GraphUpdateShape and passed it to GridGraph.GetNodesInRegion. This gives devs more control of the shape, you might consider adding it to a future update.
public interface IGraphUpdateShape
{
bool Contains(Vector3 point);
}
And what I need is
public struct CircleUpdateShape : IGraphUpdateShape
{
public Vector3 Center;
public float Radius;
float _sqrMnt;
public CircleUpdateShape(Vector3 center, float radius)
{
Center = center;
Radius = radius;
_sqrMnt = Radius * Radius;
}
public bool Contains(Vector3 point)
{
return (point - Center).sqrMagnitude < _sqrMnt;
}
}