Newer
Older
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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
import 'package:flutter_custom_toolbox/flutter_toolbox.dart';
import 'package:reversi/config/default_activity_settings.dart';
class ActivitySettings {
final String itemsCount;
final String timerValue;
ActivitySettings({
required this.itemsCount,
required this.timerValue,
});
// Getters to convert String to int
int get itemsCountValue => int.parse(itemsCount);
int get timerCountValue => int.parse(timerValue);
static String getItemsCountValueFromUnsafe(String itemsCount) {
if (DefaultActivitySettings.allowedGameModeValues.contains(itemsCount)) {
return itemsCount;
}
return DefaultActivitySettings.defaultGameModeValue;
}
static String getTimerValueFromUnsafe(String timerValue) {
if (DefaultActivitySettings.allowedDifficultyLevelValues.contains(timerValue)) {
return timerValue;
}
return DefaultActivitySettings.difficultyLevelValue;
}
factory ActivitySettings.createDefault() {
return ActivitySettings(
itemsCount: DefaultActivitySettings.defaultGameModeValue,
timerValue: DefaultActivitySettings.difficultyLevelValue,
);
}
void dump() {
printlog('$ActivitySettings:');
printlog(' ${DefaultActivitySettings.parameterCodeGameMode}: $itemsCount');
printlog(' ${DefaultActivitySettings.parameterCodeDifficultyLevel}: $timerValue');
printlog('');
}
@override
String toString() {
return '$ActivitySettings(${toJson()})';
}
Map<String, dynamic>? toJson() {
return <String, dynamic>{
DefaultActivitySettings.parameterCodeGameMode: itemsCount,
DefaultActivitySettings.parameterCodeDifficultyLevel: timerValue,
};
}
}