chore: update PinballGamePage

pull/247/head
arturplaczek 3 years ago
parent 69b66e51d3
commit 031a047352

@ -51,7 +51,6 @@ class PinballGamePage extends StatelessWidget {
return MultiBlocProvider( return MultiBlocProvider(
providers: [ providers: [
BlocProvider(create: (_) => StartGameBloc(game: game)),
BlocProvider(create: (_) => GameBloc()), BlocProvider(create: (_) => GameBloc()),
BlocProvider(create: (_) => AssetsManagerCubit(loadables)..load()), BlocProvider(create: (_) => AssetsManagerCubit(loadables)..load()),
], ],
@ -96,36 +95,43 @@ class PinballGameLoadedView extends StatelessWidget {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
final isPlaying = context.select(
(StartGameBloc bloc) => bloc.state.status == StartGameStatus.play,
);
final gameWidgetWidth = MediaQuery.of(context).size.height * 9 / 16; final gameWidgetWidth = MediaQuery.of(context).size.height * 9 / 16;
final screenWidth = MediaQuery.of(context).size.width; final screenWidth = MediaQuery.of(context).size.width;
final leftMargin = (screenWidth / 2) - (gameWidgetWidth / 1.8); final leftMargin = (screenWidth / 2) - (gameWidgetWidth / 1.8);
return Stack( return StartGameListener(
children: [ game: game,
Positioned.fill( child: Stack(
child: GameWidget<PinballGame>( children: [
game: game, Positioned.fill(
initialActiveOverlays: const [PinballGame.playButtonOverlay], child: GameWidget<PinballGame>(
overlayBuilderMap: { game: game,
PinballGame.playButtonOverlay: (context, game) { initialActiveOverlays: const [PinballGame.playButtonOverlay],
return Positioned( overlayBuilderMap: {
bottom: 20, PinballGame.playButtonOverlay: (context, game) {
right: 0, return const Positioned(
left: 0, bottom: 20,
child: PlayButtonOverlay(game: game), right: 0,
); left: 0,
child: PlayButtonOverlay(),
);
},
}, },
}, ),
), ),
), Positioned(
// TODO(arturplaczek): add Visibility to GameHud based on StartGameBloc top: 16,
// status left: leftMargin,
Positioned( child: Visibility(
top: 16, visible: isPlaying,
left: leftMargin, child: const GameHud(),
child: const GameHud(), ),
), ),
], ],
),
); );
} }
} }

@ -200,12 +200,11 @@ void main() {
find.byWidgetPredicate((w) => w is GameWidget<PinballGame>), find.byWidgetPredicate((w) => w is GameWidget<PinballGame>),
findsOneWidget, findsOneWidget,
); );
// TODO(arturplaczek): add Visibility to GameHud based on StartGameBloc
// status expect(
// expect( find.byType(GameHud),
// find.byType(GameHud), findsNothing,
// findsNothing, );
// );
}); });
testWidgets('renders a hud on play state', (tester) async { testWidgets('renders a hud on play state', (tester) async {

Loading…
Cancel
Save