Select Git revision
game_end.dart
-
Benoît Harrault authoredBenoît Harrault authored
game_end.dart 2.60 KiB
import 'package:flutter/material.dart';
import 'package:flutter_custom_toolbox/flutter_toolbox.dart';
import 'package:awale/cubit/activity/activity_cubit.dart';
import 'package:awale/models/activity/activity.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<ActivityCubit, ActivityState>(
builder: (BuildContext context, ActivityState activityState) {
final Activity currentActivity = activityState.currentActivity;
final String playerImageAsset = currentActivity.scores[playerIndex] ==
currentActivity.scores[1 - playerIndex]
? 'assets/ui/game_draw.png'
: (currentActivity.scores[playerIndex] > currentActivity.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: [
currentActivity.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]),
],
),
],
),
),
);
},
);
}
}