Select Git revision
game_player.dart
-
Benoît Harrault authoredBenoît Harrault authored
game_end.dart 2.53 KiB
import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:awale/cubit/game_cubit.dart';
import 'package:awale/models/game/game.dart';
import 'package:awale/ui/widgets/actions/button_game_quit.dart';
class GameEndWidget extends StatelessWidget {
const GameEndWidget({
super.key,
required this.playerIndex,
required this.widgetSize,
});
final int playerIndex;
final double widgetSize;
@override
Widget build(BuildContext context) {
return BlocBuilder<GameCubit, GameState>(
builder: (BuildContext context, GameState gameState) {
final Game currentGame = gameState.currentGame;
final String playerImageAsset =
currentGame.scores[playerIndex] == currentGame.scores[1 - playerIndex]
? 'assets/ui/game_draw.png'
: (currentGame.scores[playerIndex] > currentGame.scores[1 - playerIndex]
? 'assets/ui/game_win.png'
: 'assets/ui/game_fail.png');
final Image playerImage = Image(
image: AssetImage(playerImageAsset),
fit: BoxFit.fill,
height: widgetSize,
);
return RotatedBox(
quarterTurns: 1 + 2 * playerIndex,
child: Container(
margin: const EdgeInsets.all(2),
padding: const EdgeInsets.all(2),
height: widgetSize,
child: Table(
defaultColumnWidth: const IntrinsicColumnWidth(),
defaultVerticalAlignment: TableCellVerticalAlignment.bottom,
children: [
TableRow(
children: [
Column(children: [playerImage]),
Column(children: [playerImage]),
Column(
children: [
currentGame.animationInProgress
? Image(
image: const AssetImage('assets/ui/placeholder.png'),
fit: BoxFit.fill,
height: widgetSize,
)
: SizedBox.square(
dimension: 70,
child: QuitGameButton(),
),
],
),
Column(children: [playerImage]),
Column(children: [playerImage]),
],
),
],
),