private void Save() { string file = LineEditor.RequestPath(TYPE, _saveLocation); if (file != null) { try { if (File.Exists(file)) { int selected = MultipleChoice.Show("File already exists. Overwrite?", "No", "", "Yes"); if (selected == 2) { SaveGame(file); } } else { SaveGame(file); } } catch (IOException) { Console.WriteLine("An error occured while saving."); } } }
private static void LoadGame() { string file = LineEditor.RequestPath(GameType.NON); if (File.Exists(file)) { using (FileStream stream = new FileStream(file, FileMode.Open)) { try { byte[] typeBytes = new byte[3]; stream.Read(typeBytes, 0, 3); byte[] gameData = new byte[(int)stream.Length - 3]; stream.Read(gameData, 0, gameData.Length); if (GameTypeMethods.TryParse(typeBytes, out GameType gameType)) { dynamic game = gameType.CreateGame(gameData, file); MainMenu(game); } } catch (OverflowException) { Console.WriteLine("Invalid save file."); Console.ReadLine(); } catch (Exception e) { Console.WriteLine($"An unknown error occurred. {e.Message}"); Console.ReadLine(); } } } else { Console.WriteLine($"File '{file}' does not exist."); Console.ReadLine(); } }