1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
|
#pragma once
#include "qt-config/ConfigBase.hpp"
class CRSMPackCompatibility : public ClearableConfigBase<CRSMPackCompatibility>
{
public:
Map(String, String) PackDefaultVersion;
Map(String, String) PackVersions;
Map(String, List(String)) ScenarioPacks;
Map(String, String) ScenarioCmdOptions;
String PacksDirectory = "Packs";
CRSMPackCompatibility() : ClearableConfigBase<CRSMPackCompatibility>({
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;
};
|