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], ), ], ), ], ), ); } }