chore: update PinballGamePage

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

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

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

Loading…
Cancel
Save