private async Task <Game> LoadTempGame() { Game game = null; StorageFolder folder = ApplicationData.Current.LocalFolder; try { StorageFile tempFile = await folder.GetFileAsync(@"temp.quno"); try { UniversalGameSerializer serializer = new UniversalGameSerializer(); game = await serializer.LoadFromFileAsync(tempFile); } catch (Exception) { // Nothing to do here if we can't deserialize the game, // so allow this method to return null and thus start a new game. } finally { await tempFile.DeleteAsync(); } } catch (FileNotFoundException) { // There must not be saved game, so allow this method to retun null. } return(game); }
private async void SaveTempGame(Game game) { StorageFolder folder = ApplicationData.Current.LocalFolder; StorageFile tempFile = await folder.CreateFileAsync(@"temp.quno", CreationCollisionOption.ReplaceExisting); UniversalGameSerializer serializer = new UniversalGameSerializer(); serializer.SaveToFileAsync(game, tempFile); return; }
private async void ButtonOpen_Click(object sender, RoutedEventArgs e) { FileOpenPicker fileOpenPicker = new FileOpenPicker(); fileOpenPicker.SuggestedStartLocation = PickerLocationId.DocumentsLibrary; fileOpenPicker.FileTypeFilter.Add(@".quno"); StorageFile file = await fileOpenPicker.PickSingleFileAsync(); if (file != null) { UniversalGameSerializer serializer = new UniversalGameSerializer(); var game = await serializer.LoadFromFileAsync(file); this.viewModel.OpenGame(game); } return; }
private async void ButtonSave_Click(object sender, RoutedEventArgs e) { FileSavePicker fileSavePicker = new FileSavePicker(); fileSavePicker.SuggestedStartLocation = PickerLocationId.DocumentsLibrary; fileSavePicker.FileTypeChoices.Add(this.fileFilter, new List <string>() { ".quno" }); fileSavePicker.SuggestedFileName = this.fileSuggestedName; StorageFile file = await fileSavePicker.PickSaveFileAsync(); if (file != null) { UniversalGameSerializer serializer = new UniversalGameSerializer(); serializer.SaveToFileAsync(this.viewModel.Game, file); } return; }