Skip to content
Snippets Groups Projects
Select Git revision
  • 2f684d13f5e49311b4de9298185209d04692f002
  • master default protected
  • 39-improve-app-metadata
  • 28-add-high-scores
  • 32-add-block-size-limit-parameter
  • 29-use-real-board-painter-to-draw-parameters-items
  • Release_0.9.1_48 protected
  • Release_0.9.0_47 protected
  • Release_0.8.2_46 protected
  • Release_0.8.1_45 protected
  • Release_0.8.0_44 protected
  • Release_0.7.0_43 protected
  • Release_0.6.0_42 protected
  • Release_0.5.0_41 protected
  • Release_0.4.2_40 protected
  • Release_0.4.1_39 protected
  • Release_0.4.0_38 protected
  • Release_0.3.1_37 protected
  • Release_0.3.0_36 protected
  • Release_0.2.1_35 protected
  • Release_0.2.0_34 protected
  • Release_0.1.1_33 protected
  • Release_0.1.0_32 protected
  • Release_0.0.31_31 protected
  • Release_0.0.30_30 protected
  • Release_0.0.29_29 protected
26 results

home.dart

Blame
  • home.dart 1.83 KiB
    import 'package:flutter/material.dart';
    import 'package:jeweled_game/layout/game.dart';
    import 'package:jeweled_game/layout/parameters.dart';
    import 'package:jeweled_game/provider/data.dart';
    import 'package:jeweled_game/utils/game_utils.dart';
    import 'package:provider/provider.dart';
    import 'package:overlay_support/overlay_support.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();
        myProvider.loadCurrentSavedState();
      }
    
      @override
      Widget build(BuildContext context) {
        Data myProvider = Provider.of<Data>(context);
        double boardWidth = MediaQuery.of(context).size.width;
    
        List<Widget> menuActions = [];
    
        if (myProvider.isGameRunning) {
          menuActions = [
            TextButton(
              child: Container(
                decoration: BoxDecoration(
                  borderRadius: BorderRadius.circular(4),
                  border: Border.all(
                    color: Colors.blue,
                    width: 4,
                  ),
                ),
                child: Image(
                  image: AssetImage('assets/icons/button_back.png'),
                  fit: BoxFit.fill,
                ),
              ),
              onPressed: () => toast('Long press to quit game...'),
              onLongPress: () => GameUtils.quitGame(myProvider),
            ),
          ];
        }
    
        return Scaffold(
          appBar: AppBar(
            actions: menuActions,
          ),
          body: SafeArea(
            child: Center(
              child: myProvider.isGameRunning
                  ? Game.buildGameWidget(myProvider, boardWidth)
                  : Parameters.buildParametersSelector(myProvider),
            ),
          ),
        );
      }
    }