public IEnumerator GenerateSite(LevelMetadata levelMetadata, LevelMetadata attemptMetadata) { UIManager.Instance.Prompt("Generating level..."); // Generate level based on level metadata yield return(GenerateSite( (int)levelMetadata.SiteDimensionsMetadata.SiteDimensions.x, (int)levelMetadata.SiteDimensionsMetadata.SiteDimensions.y, (int)levelMetadata.SiteDimensionsMetadata.SiteDimensions.z)); yield return(landmarkManager.GenerateLandmarks(levelMetadata.LandmarkMetadataList)); yield return(trafficManager.GenerateAccessPoints(levelMetadata.TrafficMetadataList)); yield return(roadManager.GenerateArterials(levelMetadata.RoadMetadataList)); // Generate site based on attempt metadata yield return(roadManager.GenerateRoads(attemptMetadata.RoadMetadataList)); UIManager.Instance.Prompt("Level generated successfully"); }