Пример #1
0
        public void CreateModPackFile()
        {
            PackFileService packFileService = new PackFileService(new PackFileDataBase(), null);
            var             packContainer   = packFileService.CreateNewPackFileContainer("MyTestPackFile", PackFileCAType.MOD);


            var packFile = new PackFile("ExampleFile.txt", new FileSystemSource(@"Data\FolderData\SubFolder0\Subfolder_0_file0.txt"));

            packFileService.AddFileToPack(packContainer, @"data\content\files", packFile);

            //var packFileContent = Encoding.UTF8.GetString(packFile.DataSource.ReadData());

            using (MemoryStream ms0 = new MemoryStream())
            {
                using (BinaryWriter writer = new BinaryWriter(ms0))
                    packFileService.Save(packContainer, writer);

                // Load it again
                var orgData = ms0.ToArray();
                using (MemoryStream ms1 = new MemoryStream(orgData))
                {
                    Assert.AreEqual(ms1.Length, orgData.Length);

                    using (BinaryReader reader = new BinaryReader(ms1))
                    {
                        var loadedPackFile = new PackFileContainer("File", reader);

                        Assert.AreEqual(packContainer.Header.Version, loadedPackFile.Header.Version);
                        Assert.AreEqual(packContainer.Header.FileType, loadedPackFile.Header.FileType);
                        Assert.AreEqual(1, loadedPackFile.Header.FileCount);
                        Assert.AreEqual(0, loadedPackFile.Header.ReferenceFileCount);
                    }
                }
            }
        }
        void CreatePackFile()
        {
            TextInputWindow window = new TextInputWindow("New Packfile name", "");

            if (window.ShowDialog() == true)
            {
                var newPackFile = _packfileService.CreateNewPackFileContainer(window.TextValue, PackFileCAType.MOD);
                _packfileService.SetEditablePack(newPackFile);
            }
        }