/// <summary> /// Compiles the game's content into an archive file. /// </summary> private void CompileContent() { if (ShouldCompileContent()) { if (Ultraviolet.Platform == UltravioletPlatform.Android || Ultraviolet.Platform == UltravioletPlatform.iOS) { throw new NotSupportedException(); } var archive = ContentArchive.FromFileSystem(new[] { "Content" }); using (var stream = File.OpenWrite("Content.uvarc")) { using (var writer = new BinaryWriter(stream)) { archive.Save(writer); } } } }
private static void PackArchive(ArchiveGenerationParameters parameters) { var dirs = parameters.PackDirectories; var output = parameters.PackOutput; var invalidInputs = dirs.Where(x => !Directory.Exists(x)); if (invalidInputs.Any()) { Console.WriteLine("The specified inputs do not exist or are not directories:"); foreach (var invalidInput in invalidInputs) { Console.WriteLine(" - {0}", invalidInput); } return; } if (!Path.HasExtension(output)) { output = Path.ChangeExtension(output, "uvarc"); } Console.Write("Generating {0}... ", output); var archive = ContentArchive.FromFileSystem(dirs); using (var stream = File.Open(output, FileMode.Create)) { using (var writer = new BinaryWriter(stream)) { archive.Save(writer); } } Console.WriteLine("done."); }