示例#1
0
        public async Task WriteFile <T>(Export.ExportTypes export, IEnumerable <T> data)
        {
            var file = await ChooseFileLocation(export);

            var writer = new Export.ExportWriter(file);

            switch (export)
            {
            case Export.ExportTypes.Dungeon:
                await WriteDungeon(writer, data as IEnumerable <AdventureData>);

                break;

            case Export.ExportTypes.Person:
                await WriteNPC(writer, data as IEnumerable <PersonData>);

                break;

            case Export.ExportTypes.Settlement:
                await WriteSettlement(writer, data as IEnumerable <Settlement>);

                break;
            }
            return;
        }
示例#2
0
        public void WriteFile <T>(Export.ExportTypes export, IEnumerable <T> data)
        {
            var file = ChooseFileLocation(export);

            if (file == null)
            {
                return;
            }
            var writer = new Export.ExportWriter(file);

            switch (export)
            {
            case Export.ExportTypes.Dungeon:
                WriteDungeon(writer, data as IEnumerable <AdventureData>);
                break;

            case Export.ExportTypes.Person:
                WriteNPC(writer, data as IEnumerable <PersonData>);
                break;

            case Export.ExportTypes.Settlement:
                WriteSettlement(writer, data as IEnumerable <Settlement>);
                break;
            }
            return;
        }
示例#3
0
        private string ChooseFileLocation(Export.ExportTypes type)
        {
            string filename;

            switch (type)
            {
            case Export.ExportTypes.Person:
                filename = "generated NPC";
                break;

            case Export.ExportTypes.Dungeon:
                filename = "generated location";
                break;

            case Export.ExportTypes.Settlement:
                filename = "generated settlement";
                break;

            default:
                filename = "generated data";
                break;
            }

            var dlg = new Microsoft.Win32.SaveFileDialog
            {
                FileName   = filename,
                DefaultExt = ".txt",
                Filter     = "Text documents (.txt)|*.txt"
            };

            bool?result = dlg.ShowDialog();

            if (result == true)
            {
                return(dlg.FileName);
            }
            else
            {
                return(null);
            }
        }
示例#4
0
        private async Task <StorageFile> ChooseFileLocation(Export.ExportTypes type)
        {
            string filename;

            switch (type)
            {
            case Export.ExportTypes.Person:
                filename = "generated NPC";
                break;

            case Export.ExportTypes.Dungeon:
                filename = "generated location";
                break;

            case Export.ExportTypes.Settlement:
                filename = "generated settlement";
                break;

            default:
                filename = "generated data";
                break;
            }

            var picker = new Windows.Storage.Pickers.FileSavePicker
            {
                SuggestedStartLocation = Windows.Storage.Pickers.PickerLocationId.DocumentsLibrary,
                SuggestedFileName      = filename
            };

            picker.FileTypeChoices.Add("Plain Text", new List <string>()
            {
                ".txt"
            });
            var file = await picker.PickSaveFileAsync();

            return(file);
        }