示例#1
0
        public async Task <StorageFile> Save()
        {
            try
            {
                string saveString = _currentGame.Serialize();
                if (saveString == "")
                {
                    return(null);
                }

                string fileName = GameName + ".catangame";


                var folder = await StaticHelpers.GetSaveFolder();

                IStorageItem isiLocal = await folder.TryGetItemAsync(fileName);

                if (isiLocal != null)
                {
                    var ret = await StaticHelpers.AskUserYesNoQuestion($"Overwrite {fileName}?", "yes", "no");

                    if (!ret)
                    {
                        return(null);
                    }
                }

                var option = CreationCollisionOption.ReplaceExisting;
                var file   = await folder.CreateFileAsync(fileName, option);

                await FileIO.WriteTextAsync(file, saveString);

                if (CurrentGameName != GameName)
                {
                    _savedGameNames.Add(GameName);
                    _savedStoragefiles.Add(GameName, file);
                    CurrentGameName = GameName;
                }

                return(file);
            }
            catch (Exception exception)
            {
                string        s   = StaticHelpers.GetErrorMessage($"Error saving to file {GameName}", exception);
                MessageDialog dlg = new MessageDialog(s);
                await dlg.ShowAsync();
            }
            return(null);
        }
示例#2
0
        public async Task SaveSettings(string filename)
        {
            try
            {
                string saveString = Serialize();
                if (saveString == "")
                {
                    return;
                }

                StorageFolder folder = await StaticHelpers.GetSaveFolder();

                CreationCollisionOption option = CreationCollisionOption.ReplaceExisting;
                StorageFile             file   = await folder.CreateFileAsync(filename, option);

                await FileIO.WriteTextAsync(file, saveString);
            }
            catch (Exception exception)
            {
                string s = StaticHelpers.GetErrorMessage($"Error saving to file {filename}", exception);
                await StaticHelpers.ShowErrorText(s);
            }
        }