mirror of https://github.com/flutter/samples.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
48 lines
1.4 KiB
48 lines
1.4 KiB
// Copyright 2022, the Flutter project authors. Please see the AUTHORS file
|
|
// for details. All rights reserved. Use of this source code is governed by a
|
|
// BSD-style license that can be found in the LICENSE file.
|
|
|
|
const gameLevels = [
|
|
GameLevel(
|
|
number: 1,
|
|
difficulty: 5,
|
|
// TODO: When ready, change these achievement IDs.
|
|
// You configure this in App Store Connect.
|
|
achievementIdIOS: 'first_win',
|
|
// You get this string when you configure an achievement in Play Console.
|
|
achievementIdAndroid: 'NhkIwB69ejkMAOOLDb',
|
|
),
|
|
GameLevel(number: 2, difficulty: 42),
|
|
GameLevel(
|
|
number: 3,
|
|
difficulty: 100,
|
|
achievementIdIOS: 'finished',
|
|
achievementIdAndroid: 'CdfIhE96aspNWLGSQg',
|
|
),
|
|
];
|
|
|
|
class GameLevel {
|
|
final int number;
|
|
|
|
final int difficulty;
|
|
|
|
/// The achievement to unlock when the level is finished, if any.
|
|
final String? achievementIdIOS;
|
|
|
|
final String? achievementIdAndroid;
|
|
|
|
bool get awardsAchievement => achievementIdAndroid != null;
|
|
|
|
const GameLevel({
|
|
required this.number,
|
|
required this.difficulty,
|
|
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',
|
|
);
|
|
}
|