import 'package:flutter_custom_toolbox/flutter_toolbox.dart';

class DefaultActivitySettings {
  // available game parameters codes
  static const String parameterCodeGameMode = 'gameMode';
  static const String parameterCodeGameLevel = 'gameLevel';
  static const List<String> availableParameters = [
    parameterCodeGameMode,
    parameterCodeGameLevel,
  ];

  // game mode: available values
  static const String gameModeValueOnline = 'online';
  static const String gameModeValueOffline = 'offline';
  static const List<String> allowedGameModeValues = [
    gameModeValueOnline,
    gameModeValueOffline,
  ];
  // game mode: default value
  static const String defaultGameModeValue = gameModeValueOffline;

  // game level: available values
  static const String gameLevelValueEasy = 'easy';
  static const String gameLevelValueHard = 'hard';
  static const List<String> allowedGameLevelValues = [
    gameLevelValueEasy,
    gameLevelValueHard,
  ];
  // game level: default value
  static const String defaultGameLevelValue = gameLevelValueEasy;

  // available values from parameter code
  static List<String> getAvailableValues(String parameterCode) {
    switch (parameterCode) {
      case parameterCodeGameMode:
        return DefaultActivitySettings.allowedGameModeValues;
      case parameterCodeGameLevel:
        return DefaultActivitySettings.allowedGameLevelValues;
    }

    printlog('Did not find any available value for game parameter "$parameterCode".');
    return [];
  }
}