diff --git a/android/gradle.properties b/android/gradle.properties index 1f1e18fde2fb2162defa4f04b777246542b50926..9b5bace2138ec06078e8d1ada235d80aff083846 100644 --- a/android/gradle.properties +++ b/android/gradle.properties @@ -1,5 +1,5 @@ org.gradle.jvmargs=-Xmx1536M android.useAndroidX=true android.enableJetifier=true -app.versionName=0.0.36 -app.versionCode=36 +app.versionName=0.0.37 +app.versionCode=37 diff --git a/fastlane/metadata/android/en-US/changelogs/37.txt b/fastlane/metadata/android/en-US/changelogs/37.txt new file mode 100644 index 0000000000000000000000000000000000000000..18b9d3f55ec80bd00394590b0f54ebde00d998c1 --- /dev/null +++ b/fastlane/metadata/android/en-US/changelogs/37.txt @@ -0,0 +1 @@ +Add a tips counter on game diff --git a/fastlane/metadata/android/fr-FR/changelogs/37.txt b/fastlane/metadata/android/fr-FR/changelogs/37.txt new file mode 100644 index 0000000000000000000000000000000000000000..f2becf89b220b300fe6a0017a5a727f6e3f26373 --- /dev/null +++ b/fastlane/metadata/android/fr-FR/changelogs/37.txt @@ -0,0 +1 @@ +Ajout d'un compteur de coups de pouce diff --git a/lib/provider/data.dart b/lib/provider/data.dart index 577df48f6bb7940d47ccc3c4890d2243ac41eb8d..e2881e918cdc3f1aeede0606634aafa0e680f62c 100644 --- a/lib/provider/data.dart +++ b/lib/provider/data.dart @@ -25,6 +25,7 @@ class Data extends ChangeNotifier { int _currentCellCol = null; int _currentCellRow = null; int _currentCellValue = null; + int _givenTipsCount = 0; String get level => _level; set updateLevel(String level) { @@ -111,6 +112,16 @@ class Data extends ChangeNotifier { notifyListeners(); } + int get givenTipsCount => _givenTipsCount; + increaseGivenTipsCount() { + _givenTipsCount = _givenTipsCount + 1; + notifyListeners(); + } + resetGivenTipsCount() { + _givenTipsCount = 0; + notifyListeners(); + } + selectCell(int col, int row) { _currentCellCol = col; _currentCellRow = row; diff --git a/lib/screens/home.dart b/lib/screens/home.dart index 8f7628616b2302ea6794d60372ccb74106994151..8eca130d024200d4a61a54b7f317b4009c41c2e2 100644 --- a/lib/screens/home.dart +++ b/lib/screens/home.dart @@ -1,5 +1,6 @@ import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; +import 'package:badges/badges.dart'; import '../layout/game.dart'; import '../layout/parameters.dart'; @@ -27,10 +28,25 @@ class Home extends StatelessWidget { ), ), margin: EdgeInsets.all(8), - child: Image( - image: AssetImage('assets/icons/button_help.png'), - fit: BoxFit.fill - ), + child: Badge( + showBadge: myProvider.givenTipsCount == 0 ? false : true, + badgeColor: + myProvider.givenTipsCount < 10 + ? Colors.green + : myProvider.givenTipsCount < 20 + ? Colors.orange + : Colors.red, + badgeContent: Text( + myProvider.givenTipsCount == 0 ? '' : myProvider.givenTipsCount.toString(), + style: TextStyle( + color: Colors.white + ) + ), + child: Image( + image: AssetImage('assets/icons/button_help.png'), + fit: BoxFit.fill + ), + ) ), onPressed: () => GameUtils.showTip(myProvider), ), diff --git a/lib/utils/game_utils.dart b/lib/utils/game_utils.dart index ef43797429450735feda092bb168daf0481576c1..335258b911a7563799626177ea262b3831ef1771 100644 --- a/lib/utils/game_utils.dart +++ b/lib/utils/game_utils.dart @@ -11,6 +11,7 @@ class GameUtils { static Future<void> startGame(Data myProvider) async { myProvider.updateSize = myProvider.size; myProvider.updateStateRunning = true; + myProvider.resetGivenTipsCount(); myProvider.updateCells = BoardUtils.createEmptyBoard(myProvider.blockSizeHorizontal * myProvider.blockSizeVertical); BoardUtils.pickGrid(myProvider); } @@ -23,6 +24,7 @@ class GameUtils { // currently selected cell -> set value GameUtils.helpFillCell(myProvider); } + myProvider.increaseGivenTipsCount(); } static void helpSelectCell(Data myProvider) { diff --git a/pubspec.lock b/pubspec.lock index f57afd81a9fe9091b34d0f271f0797d0475ce325..0d88ec6c907fac3f6b25069a862f70aa0a390374 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -8,6 +8,13 @@ packages: url: "https://pub.dartlang.org" source: hosted version: "2.7.0" + badges: + dependency: "direct main" + description: + name: badges + url: "https://pub.dartlang.org" + source: hosted + version: "2.0.1" boolean_selector: dependency: transitive description: diff --git a/pubspec.yaml b/pubspec.yaml index 00a80e81995ceca35cc52e8c65b5de8696d08852..3823b903cd25b2b4ee96e53753095042b9673e6f 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -10,6 +10,7 @@ dependencies: flutter: sdk: flutter provider: ^5.0.0 + badges: ^2.0.1 dev_dependencies: flutter_test: