1
0
mirror of https://github.com/flutter/samples.git synced 2026-04-05 11:11:23 +00:00

Flutter 3.29 beta (#2571)

This commit is contained in:
Eric Windmill
2025-02-12 18:08:01 -05:00
committed by GitHub
parent d62c784789
commit 719fd72c38
685 changed files with 76244 additions and 53721 deletions

View File

@@ -31,8 +31,10 @@ class LevelSelectionScreen extends StatelessWidget {
child: Center(
child: Text(
'Select level',
style:
TextStyle(fontFamily: 'Permanent Marker', fontSize: 30),
style: TextStyle(
fontFamily: 'Permanent Marker',
fontSize: 30,
),
),
),
),
@@ -42,18 +44,20 @@ class LevelSelectionScreen extends StatelessWidget {
children: [
for (final level in gameLevels)
ListTile(
enabled: playerProgress.highestLevelReached >=
enabled:
playerProgress.highestLevelReached >=
level.number - 1,
onTap: () {
final audioController = context.read<AudioController>();
audioController.playSfx(SfxType.buttonTap);
GoRouter.of(context)
.go('/play/session/${level.number}');
GoRouter.of(
context,
).go('/play/session/${level.number}');
},
leading: Text(level.number.toString()),
title: Text('Level #${level.number}'),
)
),
],
),
),

View File

@@ -12,10 +12,7 @@ const gameLevels = [
// You get this string when you configure an achievement in Play Console.
achievementIdAndroid: 'NhkIwB69ejkMAOOLDb',
),
GameLevel(
number: 2,
difficulty: 42,
),
GameLevel(number: 2, difficulty: 42),
GameLevel(
number: 3,
difficulty: 100,
@@ -42,8 +39,9 @@ class GameLevel {
this.achievementIdIOS,
this.achievementIdAndroid,
}) : assert(
(achievementIdAndroid != null && achievementIdIOS != null) ||
(achievementIdAndroid == null && achievementIdIOS == null),
'Either both iOS and Android achievement ID must be provided, '
'or none');
(achievementIdAndroid != null && achievementIdIOS != null) ||
(achievementIdAndroid == null && achievementIdIOS == null),
'Either both iOS and Android achievement ID must be provided, '
'or none',
);
}