chore: update PinballGamePage

pull/254/head
arturplaczek 3 years ago
parent 8eba4ccc6b
commit 0840a31e03

@ -48,7 +48,6 @@ class PinballGamePage extends StatelessWidget {
return MultiBlocProvider(
providers: [
BlocProvider(create: (_) => StartGameBloc(game: game)),
BlocProvider(create: (_) => GameBloc()),
BlocProvider(
create: (_) => AssetsManagerCubit(loadables)..load(),
@ -114,11 +113,16 @@ class PinballGameLoadedView extends StatelessWidget {
@override
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 screenWidth = MediaQuery.of(context).size.width;
final leftMargin = (screenWidth / 2) - (gameWidgetWidth / 1.8);
return Stack(
return StartGameListener(
game: game,
child: Stack(
children: [
Positioned.fill(
child: GameWidget<PinballGame>(
@ -126,24 +130,26 @@ class PinballGameLoadedView extends StatelessWidget {
initialActiveOverlays: const [PinballGame.playButtonOverlay],
overlayBuilderMap: {
PinballGame.playButtonOverlay: (context, game) {
return Positioned(
return const Positioned(
bottom: 20,
right: 0,
left: 0,
child: PlayButtonOverlay(game: game),
child: PlayButtonOverlay(),
);
},
},
),
),
// TODO(arturplaczek): add Visibility to GameHud based on StartGameBloc
// status
Positioned(
top: 16,
left: leftMargin,
child: Visibility(
visible: isPlaying,
child: const GameHud(),
),
),
],
),
);
}
}

@ -1 +1,2 @@
export 'how_to_play_dialog.dart';
export 'start_game_listener.dart';

Loading…
Cancel
Save