#pragma once #include "qt-config/ConfigBase.hpp" class CRSMPackCompatibility : public ClearableConfigBase { public: Map(String, String) PackDefaultVersion; Map(String, String) PackVersions; Map(String, List(String)) ScenarioPacks; Map(String, String) ScenarioCmdOptions; String PacksDirectory = "Packs"; CRSMPackCompatibility() : ClearableConfigBase({ ConfigVal(PackDefaultVersion), ConfigVal(PackVersions), ConfigVal(PacksDirectory), ConfigVal(ScenarioPacks), ConfigVal(ScenarioCmdOptions) }) { } QString linkScenarioPacks(const QString& scenario); QString getScenarioCmdOptions(const QString& scenario, bool all = true); 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); QString applyConfig(); QString setScenarioCmdOptions(const QString& scenario, const QString& options); protected: QString checkPackVersion(const QString& packVersion, const QString& pack); QString checkScenarioPack(const QString& packVersion, const QString& scenario); private: QString clonkPath; };