public void Generate() { GridSystem grid = new GridSystem(); List <PositionedShape> shapes = spec.ToShapes(); // run solving algorithm bool solvable = GraphGenerator.AttemptPosition(ref shapes, 50000, grid, spec.blockerPortion); if (solvable) { MakeLevelFromShapes(shapes, spec.extraEdges, levelName); } }