#ifndef LOTRO_DAT_LIBRARY_DATSTATUS_H #define LOTRO_DAT_LIBRARY_DATSTATUS_H #include namespace LOTRO_DAT { class DatFile; /*! * \brief Модуль работы с локалями * \author Gi1dor * \date 06.07.2018 * * Класс для работы с искуственно внедряемымыми в dat контейнер копиями файлов. Позволяет независимо хранить * информацию о двух версиях каждого файла, которую можно подставлять в файловую систему. * В рамках русификации хранит информацию об оригинальной и русифицированной версии тех файлов, для которых * существует русификация. * * \warning Данные локалей чувствительны к обновлениям игры и могут быть стёрты после них! * \warning Объекты этого класса не должны создаваться отдельно! Созданием и управлением ими занимается класс DatFile */ class DatStatus { public: DatStatus() = delete; DatStatus(const DatStatus &other) = delete; DatStatus &operator=(const DatStatus &other) = delete; ~DatStatus() = default; explicit DatStatus(DatFile *datFilePtr); void UpdatePercentage(unsigned percent); unsigned GetPercentage(); void UpdateStatusText(const std::string &message); void RemoveStatusText(); std::string GetStatusText(); bool CheckIfNotPatched(); private: DatFile *dat; unsigned percentage; std::string status_text; }; } #endif //LOTRO_DAT_LIBRARY_DATSTATUS_H