Select Git revision
styled_button.dart
settings_activity.dart 1.39 KiB
import 'package:flutter_custom_toolbox/flutter_toolbox.dart';
import 'package:puissance4/config/default_activity_settings.dart';
class ActivitySettings {
final String gameMode;
final String size;
ActivitySettings({
required this.gameMode,
required this.size,
});
static String getGameModeValueFromUnsafe(String gameMode) {
if (DefaultActivitySettings.allowedGameModeValues.contains(gameMode)) {
return gameMode;
}
return DefaultActivitySettings.defaultGameModeValue;
}
static String getSizeValueFromUnsafe(String size) {
if (DefaultActivitySettings.allowedSizeValues.contains(size)) {
return size;
}
return DefaultActivitySettings.defaultSizeValue;
}
factory ActivitySettings.createDefault() {
return ActivitySettings(
gameMode: DefaultActivitySettings.defaultGameModeValue,
size: DefaultActivitySettings.defaultSizeValue,
);
}
void dump() {
printlog('$ActivitySettings:');
printlog(' ${DefaultActivitySettings.parameterCodeGameMode}: $gameMode');
printlog(' ${DefaultActivitySettings.parameterCodeSize}: $size');
printlog('');
}
@override
String toString() {
return '$ActivitySettings(${toJson()})';
}
Map<String, dynamic>? toJson() {
return <String, dynamic>{
DefaultActivitySettings.parameterCodeGameMode: gameMode,
DefaultActivitySettings.parameterCodeSize: size,
};
}
}