Skip to content
Snippets Groups Projects
Select Git revision
  • 92179000ce8a5e4ab8045f02414cba3c3526fef9
  • master default protected
  • 61-upgrade-framework-and-dependencies
  • 42-add-allowed-categories-in-settings-page
  • 44-improve-app-metadata
  • 23-add-tip-response-on-clic-on-button
  • Release_1.11.0_55 protected
  • Release_1.10.2_54 protected
  • Release_1.10.1_53 protected
  • Release_1.10.0_52 protected
  • Release_1.9.0_51 protected
  • Release_1.8.0_50 protected
  • Release_1.7.0_49 protected
  • Release_1.6.2_48 protected
  • Release_1.6.1_47 protected
  • Release_1.6.0_46 protected
  • Release_1.5.1_45 protected
  • Release_1.5.0_44 protected
  • Release_1.4.1_43 protected
  • Release_1.4.0_42 protected
  • Release_1.3.1_41 protected
  • Release_1.3.0_40 protected
  • Release_1.2.33_39 protected
  • Release_1.2.32_38 protected
  • Release_1.2.31_37 protected
  • Release_1.2.30_36 protected
26 results

settings_game.dart

Blame
  • settings_game.dart 1.58 KiB
    import 'package:flutter_custom_toolbox/flutter_toolbox.dart';
    
    import 'package:petitbac/config/default_game_settings.dart';
    
    class GameSettings {
      final String itemsCount;
      final String timerValue;
    
      GameSettings({
        required this.itemsCount,
        required this.timerValue,
      });
    
      int get itemsCountValue => DefaultGameSettings.getItemsCountValueFromCode(itemsCount);
      int get timerCountValue => DefaultGameSettings.getTimerValueFromCode(timerValue);
    
      static String getItemsCountValueFromUnsafe(String itemsCount) {
        if (DefaultGameSettings.allowedItemsCountValues.contains(itemsCount)) {
          return itemsCount;
        }
    
        return DefaultGameSettings.defaultItemsCountValue;
      }
    
      static String getTimerValueFromUnsafe(String timerValue) {
        if (DefaultGameSettings.allowedTimerValues.contains(timerValue)) {
          return timerValue;
        }
    
        return DefaultGameSettings.defaultTimerValue;
      }
    
      factory GameSettings.createDefault() {
        return GameSettings(
          itemsCount: DefaultGameSettings.defaultItemsCountValue,
          timerValue: DefaultGameSettings.defaultTimerValue,
        );
      }
    
      void dump() {
        printlog('$GameSettings:');
        printlog('  ${DefaultGameSettings.parameterCodeItemsCount}: $itemsCount');
        printlog('  ${DefaultGameSettings.parameterCodeTimerValue}: $timerValue');
        printlog('');
      }
    
      @override
      String toString() {
        return '$GameSettings(${toJson()})';
      }
    
      Map<String, dynamic>? toJson() {
        return <String, dynamic>{
          DefaultGameSettings.parameterCodeItemsCount: itemsCount,
          DefaultGameSettings.parameterCodeTimerValue: timerValue,
        };
      }
    }