private void _removeSmallAreas(TerrainData data) { Area[] areas = new Area[data.GetAreaCount()]; for (int i = 0; i < data.GetAreaCount(); i++) { areas[i] = data.GetArea(i); } IEnumerable<Section> removedSections = areas.OfType<Section>().OrderByDescending(section => section.GetPointCount()).Skip(1); foreach (Section section in removedSections) { section.Obliterate(); } }