static public void SaveFileHandler() { subDirs = Directory.GetFiles("Saves"); SaveFileMenu.ShowMenu(); /* * Console.Clear(); * Console.WriteLine("Выберите название для файла сохранения (Образец: saveFile)"); * foreach (string subDir in subDirs) Console.WriteLine(subDir); * savename = "Saves\\" + Console.ReadLine() + ".RPGSF" + RPG.VERSION; * if (isSaving) SaveProgress(false); */ }
static public void SaveProgress(bool currentSave) { List <object> saveList = new List <object> { City.cityBank, LVL, XP, HP, Money, City.currentPlotState, questNum, City.wasInCity, MasteryPoints, towerLoc, Tower.mageName, Tower.wasIntroduced, gotAnarchy, ahShit, brokeOut, BHDweller, }; foreach (Item it in Inventory) { saveList.Add(it.ID); saveList.Add(it.LVL); } ; foreach (Item it in Passive_Inventory) { saveList.Add(it.ID); saveList.Add(it.LVL); } ; if (!currentSave) { if (File.Exists(savename)) { Console.WriteLine("Данный файл существует. Перезаписать? 1 - Да, 2 - Нет, 3 - Загрузить этот файл"); switch (Console.ReadKey().Key) { case ConsoleKey.D1: case ConsoleKey.NumPad1: SaveProgress(true); break; case ConsoleKey.D2: case ConsoleKey.NumPad2: SaveFileHandler(); break; case ConsoleKey.D3: case ConsoleKey.NumPad3: LoadProgress(true); break; default: Console.WriteLine("Некорректный ввод"); SaveProgress(currentSave); break; } } else { SaveProgress(true); } } else { try { string str = ""; foreach (object obj in saveList) { str += obj + "\n"; } using (StreamWriter sw = new StreamWriter(savename, false, Encoding.Default)) sw.Write(str); Console.WriteLine("Файл сохранён."); } catch { Console.WriteLine("Некорректный ввод"); SaveFileMenu.ShowMenu(); } } }