From afa52488b0f5f8494838f5aac1c3cd9fe03201e3 Mon Sep 17 00:00:00 2001 From: Felix Kirchner Date: Mon, 21 Jul 2025 13:05:22 +0200 Subject: [PATCH 1/2] Fixed bug with no popup shown --- lib/data/game_manager.dart | 3 ++- lib/data/game_session.dart | 4 ++-- lib/presentation/views/active_game_view.dart | 1 + pubspec.yaml | 2 +- 4 files changed, 6 insertions(+), 4 deletions(-) diff --git a/lib/data/game_manager.dart b/lib/data/game_manager.dart index 502feb6..41ef640 100644 --- a/lib/data/game_manager.dart +++ b/lib/data/game_manager.dart @@ -69,7 +69,8 @@ class GameManager extends ChangeNotifier { gameList[index].roundNumber--; gameList[index].isGameFinished = true; - notifyListeners(); + gameList[index].setWinner(); + gameList[index].notifyListeners(); LocalStorageService.saveGameSessions(); } } diff --git a/lib/data/game_session.dart b/lib/data/game_session.dart index 3dcf4c2..dc100a5 100644 --- a/lib/data/game_session.dart +++ b/lib/data/game_session.dart @@ -255,7 +255,7 @@ class GameSession extends ChangeNotifier { isGameFinished = true; print('${players[i]} hat die 100 Punkte ueberschritten, ' 'deswegen wurde das Spiel beendet'); - _setWinner(); + setWinner(); } } } @@ -298,7 +298,7 @@ class GameSession extends ChangeNotifier { /// Determines the winner of the game session. /// It iterates through the player scores and finds the player /// with the lowest score. - void _setWinner() { + void setWinner() { int minScore = playerScores.reduce((a, b) => a < b ? a : b); List lowestPlayers = []; for (int i = 0; i < players.length; i++) { diff --git a/lib/presentation/views/active_game_view.dart b/lib/presentation/views/active_game_view.dart index 230603c..ff9e066 100644 --- a/lib/presentation/views/active_game_view.dart +++ b/lib/presentation/views/active_game_view.dart @@ -312,6 +312,7 @@ class _ActiveGameViewState extends State { onPressed: () { setState(() { gameManager.endGame(gameSession.id); + _playFinishAnimation(context); }); Navigator.pop(context); }, diff --git a/pubspec.yaml b/pubspec.yaml index 1ff6a27..9c26ec2 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -2,7 +2,7 @@ name: cabo_counter description: "Mobile app for the card game Cabo" publish_to: 'none' -version: 0.5.3+589 +version: 0.5.3+593 environment: sdk: ^3.5.4 From 9cfb3fefb076b19aaebd92c5aef1356fdb5afae2 Mon Sep 17 00:00:00 2001 From: Felix Kirchner Date: Mon, 21 Jul 2025 13:08:30 +0200 Subject: [PATCH 2/2] Updated listener notification --- lib/data/game_manager.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/data/game_manager.dart b/lib/data/game_manager.dart index 41ef640..eca6880 100644 --- a/lib/data/game_manager.dart +++ b/lib/data/game_manager.dart @@ -70,7 +70,7 @@ class GameManager extends ChangeNotifier { gameList[index].roundNumber--; gameList[index].isGameFinished = true; gameList[index].setWinner(); - gameList[index].notifyListeners(); + notifyListeners(); LocalStorageService.saveGameSessions(); } }