Select Git revision
-
Benoît Harrault authoredBenoît Harrault authored
game.dart 1.55 KiB
import 'package:flutter/material.dart';
import 'package:tetrisdual/layout/board.dart';
import 'package:tetrisdual/provider/data.dart';
import 'package:tetrisdual/utils/game_utils.dart';
class Game {
static Container buildGameWidget(Data myProvider, double boardWidth) {
return Container(
child: !myProvider.isGameFinished
? Board.buildGameBoard(myProvider, boardWidth)
: Game.buildEndGameMessage(myProvider),
);
}
static TextButton buildQuitGameButton(Data myProvider) {
return TextButton(
child: Image(
image: AssetImage('assets/icons/button_back.png'),
fit: BoxFit.fill,
),
onPressed: () => GameUtils.quitGame(myProvider),
);
}
static Container buildEndGameMessage(Data myProvider) {
String decorationImageAssetName = 'assets/icons/game_fail.png';
Widget decorationWidget = TextButton(
child: Image(
image: AssetImage(decorationImageAssetName),
fit: BoxFit.fill,
),
onPressed: () => null,
);
return Container(
margin: EdgeInsets.all(2),
padding: EdgeInsets.all(2),
child: Table(
defaultColumnWidth: IntrinsicColumnWidth(),
children: [
TableRow(
children: [
Column(
children: [decorationWidget],
),
Column(
children: [buildQuitGameButton(myProvider)],
),
Column(
children: [decorationWidget],
),
],
),
],
),
);
}
}