private static void Run_BlueprintGeneration(GameDataLoader loader) { var bps = loader.LoadBlueprints(); foreach (var bp in bps) { Console.Out.Write("new Blueprint(\"{0}\"", bp.Id.SubTypeId); var input = bp.Inputs.Single(); FormatStack(", new ItemAndQuantity(\"{0}/{1}\", {2:0.###}f / {3:0.###}f)", input, bp.BaseProductionTimeInSeconds); var firstOutput = bp.Outputs.First(); FormatStack(",\n new ItemAndQuantity(\"{0}/{1}\", {2:0.###}f / {3:0.###}f)", firstOutput, bp.BaseProductionTimeInSeconds); foreach(var output in bp.Outputs.Skip(1)) { FormatStack(", new ItemAndQuantity(\"{0}/{1}\", {2:0.###}f / {3:0.###}f)", output, bp.BaseProductionTimeInSeconds); } Console.Out.WriteLine("),"); } }