import 'package:flutter/material.dart'; import 'package:flutter_custom_toolbox/flutter_toolbox.dart'; import 'package:puissance4/common/cubit/nav/nav_cubit_pages.dart'; import 'package:puissance4/cubit/activity/activity_cubit.dart'; class ApplicationConfig { // game mode static const String parameterCodeGameMode = 'activity.gameMode'; static const String gameModeHumanVsHuman = 'human-vs-human'; static const String gameModeHumanVsRobot = 'human-vs-robot'; static const String gameModeRobotVsHuman = 'robot-vs-human'; static const String gameModeRobotVsRobot = 'robot-vs-robot'; // size static const String parameterCodeBoardSize = 'activity.size'; static const String boardSizeValueMedium = '7x6'; static final ApplicationConfigDefinition config = ApplicationConfigDefinition( appTitle: 'Puissance4', activitySettings: [ // game mode ApplicationSettingsParameter( code: parameterCodeGameMode, values: [ ApplicationSettingsParameterItemValue( value: gameModeHumanVsHuman, color: Colors.green, text: '🧑⚡🧑', isDefault: true, ), ApplicationSettingsParameterItemValue( value: gameModeHumanVsRobot, color: Colors.pink, text: '🧑⚡🤖', ), ApplicationSettingsParameterItemValue( value: gameModeRobotVsHuman, color: Colors.pink, text: '🤖⚡🧑', ), ApplicationSettingsParameterItemValue( value: gameModeRobotVsRobot, color: Colors.brown, text: '🤖⚡🤖', ), ], ), // board size ApplicationSettingsParameter( code: parameterCodeBoardSize, values: [ ApplicationSettingsParameterItemValue( value: boardSizeValueMedium, isDefault: true, ), ], ), ], startNewActivity: (BuildContext context) { BlocProvider.of<ActivityCubit>(context).startNewActivity(context); BlocProvider.of<NavCubitPage>(context).goToPageGame(); }, deleteCurrentActivity: (BuildContext context) { BlocProvider.of<ActivityCubit>(context).deleteSavedActivity(); }, resumeActivity: (BuildContext context) { BlocProvider.of<ActivityCubit>(context).resumeSavedActivity(); BlocProvider.of<NavCubitPage>(context).goToPageGame(); }, ); }