public bool DoesShapeIntersectOthers(GridShape rd) { List <Vector2Int> indices = new List <Vector2Int>(); rd.GetIndicesInShape(ref indices, Buffer); foreach (Vector2Int vi in indices) { foreach (GridShape gs in m_Shapes) { if (gs.isPointInShape(vi)) { return(true); } } } return(false); }