Skip to content
Snippets Groups Projects
Select Git revision
  • b3636fdedc8298c6d393457cb152f05ed3e793d6
  • master default protected
  • 49-fix-end-game
  • 40-improve-app-metadata
  • 12-improve-layout
  • 4-add-animations
  • Release_0.9.1_47 protected
  • Release_0.9.0_46 protected
  • Release_0.8.2_45 protected
  • Release_0.8.1_44 protected
  • Release_0.8.0_43 protected
  • Release_0.7.0_42 protected
  • Release_0.6.0_41 protected
  • Release_0.5.0_40 protected
  • Release_0.4.2_39 protected
  • Release_0.4.1_38 protected
  • Release_0.4.0_37 protected
  • Release_0.3.1_36 protected
  • Release_0.3.0_35 protected
  • Release_0.2.1_34 protected
  • Release_0.2.0_33 protected
  • Release_0.1.2_32 protected
  • Release_0.1.1_31 protected
  • Release_0.1.0_30 protected
  • Release_0.0.29_29 protected
  • Release_0.0.28_28 protected
26 results

settings_game.dart

Blame
  • settings_game.dart 1.70 KiB
    import 'package:momomotus/config/default_game_settings.dart';
    import 'package:momomotus/utils/tools.dart'; 
    
    class GameSettings {
      final String lang;
      final String length;
      final String level;
    
      GameSettings({
        required this.lang,
        required this.length,
        required this.level,
      });
    
      static String getLangValueFromUnsafe(String lang) {
        if (DefaultGameSettings.allowedLangValues.contains(lang)) {
          return lang;
        }
    
        return DefaultGameSettings.defaultLangValue;
      }
    
      static String getLengthValueFromUnsafe(String length) {
        if (DefaultGameSettings.allowedLengthValues.contains(length)) {
          return length;
        }
    
        return DefaultGameSettings.defaultLengthValue;
      }
    
      static String getLevelValueFromUnsafe(String level) {
        if (DefaultGameSettings.allowedLevelValues.contains(level)) {
          return level;
        }
    
        return DefaultGameSettings.defaultLevelValue;
      }
    
      factory GameSettings.createDefault() {
        return GameSettings(
          lang: DefaultGameSettings.defaultLangValue,
          length: DefaultGameSettings.defaultLengthValue,
          level: DefaultGameSettings.defaultLevelValue,
        );
      }
    
      void dump() {
        printlog('$GameSettings:');
        printlog('  ${DefaultGameSettings.parameterCodeLang}: $lang');
        printlog('  ${DefaultGameSettings.parameterCodeLength}: $length');
        printlog('  ${DefaultGameSettings.parameterCodeLevel}: $level');
        printlog('');
      }
    
      @override
      String toString() {
        return '$GameSettings(${toJson()})';
      }
    
      Map<String, dynamic>? toJson() {
        return <String, dynamic>{
          DefaultGameSettings.parameterCodeLang: lang,
          DefaultGameSettings.parameterCodeLength: length,
          DefaultGameSettings.parameterCodeLevel: level,
        };
      }
    }