Пример #1
0
            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.");
                    }
                }
            }
Пример #2
0
        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();
            }
        }