import 'package:solitaire/config/default_game_settings.dart'; import 'package:solitaire/utils/tools.dart'; class GameSettings { final String layout; GameSettings({ required this.layout, }); static String getLayoutValueFromUnsafe(String layout) { if (DefaultGameSettings.allowedLayoutValues.contains(layout)) { return layout; } return DefaultGameSettings.defaultLayoutValue; } factory GameSettings.createDefault() { return GameSettings( layout: DefaultGameSettings.defaultLayoutValue, ); } void dump() { printlog('$GameSettings:'); printlog(' ${DefaultGameSettings.parameterCodeLayout}: $layout'); printlog(''); } @override String toString() { return '$GameSettings(${toJson()})'; } Map<String, dynamic>? toJson() { return <String, dynamic>{ DefaultGameSettings.parameterCodeLayout: layout, }; } }