Esempio n. 1
0
        /// <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);
                    }
                }
            }
        }
Esempio n. 2
0
        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.");
        }