2024-02-22 13:39:23 +03:00
|
|
|
|
/**
|
|
|
|
|
* @brief Класс SaveLoadSystem позволяет игроку сохранять и загружать свой прогресс.
|
|
|
|
|
*/
|
2024-02-15 12:24:01 +03:00
|
|
|
|
class SaveLoadSystem {
|
|
|
|
|
public:
|
2024-02-22 13:39:23 +03:00
|
|
|
|
/**
|
|
|
|
|
* @brief Сохраняет текущее состояние игры в файл.
|
|
|
|
|
* @param saveFileName Имя файла сохранения.
|
|
|
|
|
* @param otherParams Другие параметры, такие как данные о состоянии игры.
|
|
|
|
|
*/
|
2024-02-15 12:24:01 +03:00
|
|
|
|
void saveGame(const std::string& saveFileName, /* другие параметры, например, данные о состоянии игры */);
|
|
|
|
|
|
2024-02-22 13:39:23 +03:00
|
|
|
|
/**
|
|
|
|
|
* @brief Загружает состояние игры из файла.
|
|
|
|
|
* @param saveFileName Имя файла сохранения.
|
|
|
|
|
*/
|
2024-02-15 12:24:01 +03:00
|
|
|
|
void loadGame(const std::string& saveFileName);
|
|
|
|
|
|
2024-02-22 13:39:23 +03:00
|
|
|
|
/**
|
|
|
|
|
* @brief Перечисляет доступные файлы сохранений.
|
|
|
|
|
* @return Вектор строк, содержащих имена доступных файлов сохранений.
|
|
|
|
|
*/
|
2024-02-15 12:24:01 +03:00
|
|
|
|
std::vector<std::string> listSaveFiles();
|
|
|
|
|
|
2024-02-22 13:39:23 +03:00
|
|
|
|
/**
|
|
|
|
|
* @brief Удаляет файл сохранения.
|
|
|
|
|
* @param saveFileName Имя файла сохранения для удаления.
|
|
|
|
|
*/
|
2024-02-15 12:24:01 +03:00
|
|
|
|
void deleteSaveFile(const std::string& saveFileName);
|
|
|
|
|
|
|
|
|
|
private:
|
2024-02-22 13:39:23 +03:00
|
|
|
|
/**
|
|
|
|
|
* @brief Сериализует данные состояния игры для сохранения.
|
|
|
|
|
* @param gameStateParams Параметры состояния игры для сериализации.
|
|
|
|
|
*/
|
2024-02-15 12:24:01 +03:00
|
|
|
|
void serializeGameState(/* параметры состояния игры */);
|
|
|
|
|
|
2024-02-22 13:39:23 +03:00
|
|
|
|
/**
|
|
|
|
|
* @brief Десериализует данные состояния игры из файла сохранения.
|
|
|
|
|
* @param loadParams Параметры для загрузки состояния игры.
|
|
|
|
|
*/
|
2024-02-15 12:24:01 +03:00
|
|
|
|
void deserializeGameState(/* параметры для загрузки состояния игры */);
|
|
|
|
|
};
|