import 'package:flutter_custom_toolbox/flutter_toolbox.dart'; import 'package:calculus/config/default_game_settings.dart'; class GameSettings { final String level; GameSettings({ required this.level, }); // Getters to convert String to int int get levelValue => int.parse(level); static String getLevelValueFromUnsafe(String level) { if (DefaultGameSettings.allowedLevelValues.contains(level)) { return level; } return DefaultGameSettings.defaultLevelValue; } factory GameSettings.createDefault() { return GameSettings( level: DefaultGameSettings.defaultLevelValue, ); } void dump() { printlog('$GameSettings:'); printlog(' ${DefaultGameSettings.parameterCodeLevel}: $level'); printlog(''); } @override String toString() { return '$GameSettings(${toJson()})'; } Map<String, dynamic>? toJson() { return <String, dynamic>{ DefaultGameSettings.parameterCodeLevel: level, }; } }