refactor: use readBloc and fix tests

pull/375/head
Allison Ryan 3 years ago
parent f21fe41169
commit 14a85252c5

@ -23,8 +23,9 @@ class BallSpawningBehavior extends Component
void onNewState(GameState state) {
final plunger = gameRef.descendants().whereType<Plunger>().single;
final canvas = gameRef.descendants().whereType<ZCanvasComponent>().single;
final characterTheme =
readProvider<CharacterThemeCubit>().state.characterTheme;
final characterTheme = readBloc<CharacterThemeCubit, CharacterThemeState>()
.state
.characterTheme;
final ball = Ball(assetPath: characterTheme.ball.keyName)
..initialPosition = Vector2(
plunger.body.position.x,

@ -42,7 +42,9 @@ class FlutterForestBonusBehavior extends Component
if (signpost.bloc.isFullyProgressed()) {
bloc.add(const BonusActivated(GameBonus.dashNest));
final characterTheme =
readProvider<CharacterThemeCubit>().state.characterTheme;
readBloc<CharacterThemeCubit, CharacterThemeState>()
.state
.characterTheme;
canvas.add(
Ball(assetPath: characterTheme.ball.keyName)
..initialPosition = Vector2(29.2, -24.5)

@ -26,8 +26,9 @@ class GameBlocStatusListener extends Component
readProvider<PinballPlayer>().play(PinballAudio.gameOverVoiceOver);
gameRef.descendants().whereType<Backbox>().first.requestInitials(
score: state.displayScore,
character:
readProvider<CharacterThemeCubit>().state.characterTheme,
character: readBloc<CharacterThemeCubit, CharacterThemeState>()
.state
.characterTheme,
);
break;
}

@ -69,7 +69,6 @@ class PinballGame extends PinballForge2DGame
MultiFlameProvider(
providers: [
FlameProvider<PinballPlayer>.value(_player),
FlameProvider<CharacterThemeCubit>.value(_characterThemeBloc),
FlameProvider<LeaderboardRepository>.value(leaderboardRepository),
FlameProvider<AppLocalizations>.value(_l10n),
],

@ -19,18 +19,20 @@ class _TestGame extends Forge2DGame {
}
Future<void> pump(
Iterable<Component> children, {
List<Component> children, {
GameBloc? gameBloc,
}) async {
await ensureAdd(
FlameMultiBlocProvider(
providers: [
FlameBlocProvider<GameBloc, GameState>.value(
value: gameBloc ?? GameBloc(),
children: [
FlameProvider<CharacterThemeCubit>.value(
CharacterThemeCubit(),
children: children,
),
FlameBlocProvider<CharacterThemeCubit, CharacterThemeState>.value(
value: CharacterThemeCubit(),
),
],
children: children,
),
);
}

@ -27,19 +27,19 @@ class _TestGame extends Forge2DGame {
required GameBloc gameBloc,
}) async {
await ensureAdd(
FlameBlocProvider<GameBloc, GameState>.value(
value: gameBloc,
children: [
FlameProvider<CharacterThemeCubit>.value(
CharacterThemeCubit(),
FlameMultiBlocProvider(
providers: [
FlameBlocProvider<GameBloc, GameState>.value(value: gameBloc),
FlameBlocProvider<CharacterThemeCubit, CharacterThemeState>.value(
value: CharacterThemeCubit(),
),
],
children: [
ZCanvasComponent(
children: [child],
),
],
),
],
),
);
}
}

@ -25,18 +25,18 @@ class _TestGame extends Forge2DGame {
PinballPlayer? pinballPlayer,
}) async {
return ensureAdd(
FlameMultiBlocProvider(
providers: [
FlameBlocProvider<GameBloc, GameState>.value(
value: GameBloc(),
children: [
MultiFlameProvider(
providers: [
FlameProvider<PinballPlayer>.value(
pinballPlayer ?? _MockPinballPlayer(),
),
FlameProvider<CharacterThemeCubit>.value(
CharacterThemeCubit(),
FlameBlocProvider<CharacterThemeCubit, CharacterThemeState>.value(
value: CharacterThemeCubit(),
),
],
children: [
FlameProvider<PinballPlayer>.value(
pinballPlayer ?? _MockPinballPlayer(),
children: children,
),
],

@ -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<CharacterThemeState> get stream =>
const Stream<CharacterThemeState>.empty();
}
class _MockAppLocalizations extends Mock implements AppLocalizations {}
class _MockEventPosition extends Mock implements EventPosition {}

@ -22,7 +22,7 @@ import '../../helpers/helpers.dart';
class _TestPinballGame extends PinballGame {
_TestPinballGame()
: super(
characterThemeBloc: _MockCharacterThemeCubit(),
characterThemeBloc: CharacterThemeCubit(),
leaderboardRepository: _MockLeaderboardRepository(),
gameBloc: GameBloc(),
l10n: _MockAppLocalizations(),

Loading…
Cancel
Save