Skip to content
Snippets Groups Projects
Select Git revision
  • 4ea3b698b835554573dfaf60d61e4362df1653e2
  • master default protected
  • 22-improve-app-metadata
  • 9-improve-layout-and-graphics
  • Release_0.9.1_35 protected
  • Release_0.9.0_34 protected
  • Release_0.8.2_33 protected
  • Release_0.8.1_32 protected
  • Release_0.8.0_31 protected
  • Release_0.7.0_30 protected
  • Release_0.6.0_29 protected
  • Release_0.5.0_28 protected
  • Release_0.4.2_27 protected
  • Release_0.4.1_26 protected
  • Release_0.4.0_25 protected
  • Release_0.3.1_24 protected
  • Release_0.3.0_23 protected
  • Release_0.2.1_22 protected
  • Release_0.2.0_21 protected
  • Release_0.1.1_20 protected
  • Release_0.1.0_19 protected
  • Release_0.0.18_18 protected
  • Release_0.0.17_17 protected
  • Release_0.0.16_16 protected
24 results

game_utils.dart

Blame
  • parameters.dart 3.33 KiB
    import 'package:flutter/material.dart';
    
    import 'package:calculus/provider/data.dart';
    import 'package:calculus/utils/game_utils.dart';
    
    class Parameters {
      static Widget buildParametersSelector(Data myProvider) {
        return Column(
          mainAxisAlignment: MainAxisAlignment.start,
          crossAxisAlignment: CrossAxisAlignment.center,
          children: [
            const SizedBox(height: 5),
            Expanded(
              child: Column(
                mainAxisSize: MainAxisSize.min,
                mainAxisAlignment: MainAxisAlignment.center,
                children: [
                  Parameters.buildParameterSelector(myProvider, 'level'),
                  const SizedBox(height: 5),
                  Parameters.buildParameterSelector(myProvider, 'skin'),
                  const SizedBox(height: 5),
                ],
              ),
            ),
            const SizedBox(height: 5),
            Container(
              child: Parameters.buildStartGameButton(myProvider),
            ),
          ],
        );
      }
    
      static Widget buildStartGameButton(Data myProvider) {
        Column decorationImage = const Column(children: [
          Image(
            image: AssetImage('assets/icons/game_win.png'),
            fit: BoxFit.fill,
          ),
        ]);
    
        return Container(
          margin: const EdgeInsets.all(2),
          padding: const EdgeInsets.all(2),
          child: Table(
            defaultColumnWidth: const IntrinsicColumnWidth(),
            children: [
              TableRow(
                children: [
                  decorationImage,
                  Column(children: [
                    TextButton(
                      child: const Image(
                        image: AssetImage('assets/icons/button_start.png'),
                        fit: BoxFit.fill,
                      ),
                      onPressed: () => GameUtils.startGame(myProvider),
                    ),
                  ]),
                  decorationImage,
                ],
              ),
            ],
          ),
        );
      }
    
      static Widget buildParameterSelector(Data myProvider, String parameterCode) {
        List availableValues = myProvider.getParameterAvailableValues(parameterCode);
    
        if (availableValues.length == 1) {