#pragma once #include "ConfigBase.hpp" class CRSMPackCompatibility : public ConfigBase { public: Map(String, String) PackDefaultVersion; Map(String, String) PackVersions; Map(String, List(String)) ScenarioPacks; CRSMPackCompatibility() : ConfigBase::ConfigBase({ ConfigVal(PackDefaultVersion), ConfigVal(PackVersions), ConfigVal(ScenarioPacks) }) { } void clear(); QString linkScenarioPacks(const QString& scenario); QString read(const QString &fileName, const QString &clonkPath, bool writeDefault = true); QString addPackVersion(const QString& packVersion, const QString& pack); QString deletePackVersion(const QString& packVersion); QString setDefaultPackVersion(const QString& packVersion, const QString& pack); QString addScenarioPackVersion(const QString& packVersion, const QString& scenario); QString deleteScenarioPackVersion(const QString& packVersion, const QString& scenario); protected: QString checkPackVersion(const QString& packVersion, const QString& pack); QString checkScenarioPack(const QString& packVersion, const QString& scenario); private: QString clonkPath; };