Select Git revision
-
Benoît Harrault authoredBenoît Harrault authored
application_config.dart 2.41 KiB
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();
},
);
}