import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; import 'package:overlay_support/overlay_support.dart'; import '../layout/game.dart'; import '../layout/parameters.dart'; import '../provider/data.dart'; import '../utils/game_utils.dart'; class Home extends StatefulWidget { static const String id = 'home'; @override _HomeState createState() => _HomeState(); } class _HomeState extends State<Home> { @override void initState() { super.initState(); Data myProvider = Provider.of<Data>(context, listen: false); myProvider.initParametersValues(); } @override Widget build(BuildContext context) { Data myProvider = Provider.of<Data>(context); List<Widget> menuActions = []; if (myProvider.gameIsRunning) { menuActions = [ FlatButton( child: Container( decoration: BoxDecoration( borderRadius: BorderRadius.circular(4), border: Border.all( color: Colors.blue, width: 4, ), ), margin: EdgeInsets.all(8), child: Image( image: AssetImage('assets/icons/button_back.png'), fit: BoxFit.fill ), ), onPressed: () => toast('Long press to quit game...'), onLongPress: () => GameUtils.resetGame(myProvider), ), ]; } return Scaffold( appBar: AppBar( actions: menuActions, ), body: SafeArea( child: Center( child: myProvider.gameIsRunning ? Game.buildGameWidget(myProvider) : Parameters.buildParametersSelector(myProvider) ), ) ); } }