Select Git revision
app_bar.dart
-
Benoît Harrault authoredBenoît Harrault authored
parameters_layout.dart 5.11 KiB
import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:minehunter/config/default_game_settings.dart';
import 'package:minehunter/config/default_global_settings.dart';
import 'package:minehunter/cubit/settings_game_cubit.dart';
import 'package:minehunter/cubit/settings_global_cubit.dart';
import 'package:minehunter/ui/parameters/parameter_image.dart';
import 'package:minehunter/ui/parameters/parameter_painter.dart';
import 'package:minehunter/ui/widgets/actions/button_delete_saved_game.dart';
import 'package:minehunter/ui/widgets/actions/button_game_start_new.dart';
import 'package:minehunter/ui/widgets/actions/button_resume_saved_game.dart';
class ParametersLayout extends StatelessWidget {
const ParametersLayout({super.key, required this.canResume});
final bool canResume;
final double separatorHeight = 8.0;
@override
Widget build(BuildContext context) {
final List<Widget> lines = [];
// Game settings
for (String code in DefaultGameSettings.availableParameters) {
lines.add(Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: buildParametersLine(
code: code,
isGlobal: false,
),
));
lines.add(SizedBox(height: separatorHeight));
}
lines.add(SizedBox(height: separatorHeight));
if (canResume == false) {
// Start new game
lines.add(const Expanded(
child: StartNewGameButton(),
));
} else {
// Resume game
lines.add(const Expanded(
child: ResumeSavedGameButton(),
));
// Delete saved game
lines.add(SizedBox.square(
dimension: MediaQuery.of(context).size.width / 4,
child: const DeleteSavedGameButton(),
));
}
lines.add(SizedBox(height: separatorHeight));
// Global settings
for (String code in DefaultGlobalSettings.availableParameters) {
lines.add(Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: buildParametersLine(
code: code,
isGlobal: true,
),
));
lines.add(SizedBox(height: separatorHeight));
}