public override bool Allows(IntVec3 c, Map map)
        {
            CellRect cellRect = CellRect.CenteredOn(c, this.radius);

            for (int i = cellRect.minZ; i <= cellRect.maxZ; i++)
            {
                for (int j = cellRect.minX; j <= cellRect.maxX; j++)
                {
                    IntVec3 c2 = new IntVec3(j, 0, i);
                    if (!c2.InBounds(map))
                    {
                        return(false);
                    }
                    if (c2.InNoBuildEdgeArea(map))
                    {
                        return(false);
                    }
                    if (this.affordance != null && !c2.GetTerrain(map).affordances.Contains(this.affordance))
                    {
                        return(false);
                    }
                }
            }
            return(true);
        }