diff --git a/lib/game/behaviors/ball_spawning_behavior.dart b/lib/game/behaviors/ball_spawning_behavior.dart index 6d9748dd..8995c16b 100644 --- a/lib/game/behaviors/ball_spawning_behavior.dart +++ b/lib/game/behaviors/ball_spawning_behavior.dart @@ -23,8 +23,9 @@ class BallSpawningBehavior extends Component void onNewState(GameState state) { final plunger = gameRef.descendants().whereType().single; final canvas = gameRef.descendants().whereType().single; - final characterTheme = - readProvider().state.characterTheme; + final characterTheme = readBloc() + .state + .characterTheme; final ball = Ball(assetPath: characterTheme.ball.keyName) ..initialPosition = Vector2( plunger.body.position.x, diff --git a/lib/game/components/flutter_forest/behaviors/flutter_forest_bonus_behavior.dart b/lib/game/components/flutter_forest/behaviors/flutter_forest_bonus_behavior.dart index 1240fc2f..c94cda60 100644 --- a/lib/game/components/flutter_forest/behaviors/flutter_forest_bonus_behavior.dart +++ b/lib/game/components/flutter_forest/behaviors/flutter_forest_bonus_behavior.dart @@ -42,7 +42,9 @@ class FlutterForestBonusBehavior extends Component if (signpost.bloc.isFullyProgressed()) { bloc.add(const BonusActivated(GameBonus.dashNest)); final characterTheme = - readProvider().state.characterTheme; + readBloc() + .state + .characterTheme; canvas.add( Ball(assetPath: characterTheme.ball.keyName) ..initialPosition = Vector2(29.2, -24.5) diff --git a/lib/game/components/game_bloc_status_listener.dart b/lib/game/components/game_bloc_status_listener.dart index 986078e7..81da96d5 100644 --- a/lib/game/components/game_bloc_status_listener.dart +++ b/lib/game/components/game_bloc_status_listener.dart @@ -26,8 +26,9 @@ class GameBlocStatusListener extends Component readProvider().play(PinballAudio.gameOverVoiceOver); gameRef.descendants().whereType().first.requestInitials( score: state.displayScore, - character: - readProvider().state.characterTheme, + character: readBloc() + .state + .characterTheme, ); break; } diff --git a/lib/game/pinball_game.dart b/lib/game/pinball_game.dart index 964bbff3..6f1aa630 100644 --- a/lib/game/pinball_game.dart +++ b/lib/game/pinball_game.dart @@ -69,7 +69,6 @@ class PinballGame extends PinballForge2DGame MultiFlameProvider( providers: [ FlameProvider.value(_player), - FlameProvider.value(_characterThemeBloc), FlameProvider.value(leaderboardRepository), FlameProvider.value(_l10n), ], diff --git a/test/game/behaviors/ball_spawning_behavior_test.dart b/test/game/behaviors/ball_spawning_behavior_test.dart index 263b508c..d723c65e 100644 --- a/test/game/behaviors/ball_spawning_behavior_test.dart +++ b/test/game/behaviors/ball_spawning_behavior_test.dart @@ -19,18 +19,20 @@ class _TestGame extends Forge2DGame { } Future pump( - Iterable children, { + List children, { GameBloc? gameBloc, }) async { await ensureAdd( - FlameBlocProvider.value( - value: gameBloc ?? GameBloc(), - children: [ - FlameProvider.value( - CharacterThemeCubit(), - children: children, + FlameMultiBlocProvider( + providers: [ + FlameBlocProvider.value( + value: gameBloc ?? GameBloc(), + ), + FlameBlocProvider.value( + value: CharacterThemeCubit(), ), ], + children: children, ), ); } diff --git a/test/game/components/flutter_forest/behaviors/flutter_forest_bonus_behavior_test.dart b/test/game/components/flutter_forest/behaviors/flutter_forest_bonus_behavior_test.dart index 461d7881..0d058c70 100644 --- a/test/game/components/flutter_forest/behaviors/flutter_forest_bonus_behavior_test.dart +++ b/test/game/components/flutter_forest/behaviors/flutter_forest_bonus_behavior_test.dart @@ -27,16 +27,16 @@ class _TestGame extends Forge2DGame { required GameBloc gameBloc, }) async { await ensureAdd( - FlameBlocProvider.value( - value: gameBloc, + FlameMultiBlocProvider( + providers: [ + FlameBlocProvider.value(value: gameBloc), + FlameBlocProvider.value( + value: CharacterThemeCubit(), + ), + ], children: [ - FlameProvider.value( - CharacterThemeCubit(), - children: [ - ZCanvasComponent( - children: [child], - ), - ], + ZCanvasComponent( + children: [child], ), ], ), diff --git a/test/game/components/game_bloc_status_listener_test.dart b/test/game/components/game_bloc_status_listener_test.dart index e71baafa..767ddefa 100644 --- a/test/game/components/game_bloc_status_listener_test.dart +++ b/test/game/components/game_bloc_status_listener_test.dart @@ -25,18 +25,18 @@ class _TestGame extends Forge2DGame { PinballPlayer? pinballPlayer, }) async { return ensureAdd( - FlameBlocProvider.value( - value: GameBloc(), + FlameMultiBlocProvider( + providers: [ + FlameBlocProvider.value( + value: GameBloc(), + ), + FlameBlocProvider.value( + value: CharacterThemeCubit(), + ), + ], children: [ - MultiFlameProvider( - providers: [ - FlameProvider.value( - pinballPlayer ?? _MockPinballPlayer(), - ), - FlameProvider.value( - CharacterThemeCubit(), - ), - ], + FlameProvider.value( + pinballPlayer ?? _MockPinballPlayer(), children: children, ), ], diff --git a/test/game/pinball_game_test.dart b/test/game/pinball_game_test.dart index 2840e24f..3b034c8f 100644 --- a/test/game/pinball_game_test.dart +++ b/test/game/pinball_game_test.dart @@ -20,7 +20,7 @@ import 'package:pinball_components/pinball_components.dart'; class _TestPinballGame extends PinballGame { _TestPinballGame() : super( - characterThemeBloc: _MockCharacterThemeCubit(), + characterThemeBloc: CharacterThemeCubit(), leaderboardRepository: _MockLeaderboardRepository(), gameBloc: GameBloc(), l10n: _MockAppLocalizations(), @@ -39,7 +39,7 @@ class _TestPinballGame extends PinballGame { class _TestDebugPinballGame extends DebugPinballGame { _TestDebugPinballGame() : super( - characterThemeBloc: _MockCharacterThemeCubit(), + characterThemeBloc: CharacterThemeCubit(), leaderboardRepository: _MockLeaderboardRepository(), gameBloc: GameBloc(), l10n: _MockAppLocalizations(), @@ -57,12 +57,6 @@ class _TestDebugPinballGame extends DebugPinballGame { class _MockGameBloc extends Mock implements GameBloc {} -class _MockCharacterThemeCubit extends Mock implements CharacterThemeCubit { - @override - Stream get stream => - const Stream.empty(); -} - class _MockAppLocalizations extends Mock implements AppLocalizations {} class _MockEventPosition extends Mock implements EventPosition {} diff --git a/test/game/view/pinball_game_page_test.dart b/test/game/view/pinball_game_page_test.dart index 479bdcc5..0e23e54d 100644 --- a/test/game/view/pinball_game_page_test.dart +++ b/test/game/view/pinball_game_page_test.dart @@ -22,7 +22,7 @@ import '../../helpers/helpers.dart'; class _TestPinballGame extends PinballGame { _TestPinballGame() : super( - characterThemeBloc: _MockCharacterThemeCubit(), + characterThemeBloc: CharacterThemeCubit(), leaderboardRepository: _MockLeaderboardRepository(), gameBloc: GameBloc(), l10n: _MockAppLocalizations(),