diff --git a/.github/workflows/main.yaml b/.github/workflows/main.yaml index a805cebc..5bef442d 100644 --- a/.github/workflows/main.yaml +++ b/.github/workflows/main.yaml @@ -11,6 +11,6 @@ jobs: uses: VeryGoodOpenSource/very_good_workflows/.github/workflows/flutter_package.yml@v1 with: flutter_channel: stable - flutter_version: 2.10.0 + flutter_version: 2.10.5 coverage_excludes: "lib/gen/*.dart" test_optimization: false diff --git a/lib/app/view/app.dart b/lib/app/view/app.dart index a44d2e33..ae3094e1 100644 --- a/lib/app/view/app.dart +++ b/lib/app/view/app.dart @@ -39,6 +39,7 @@ class App extends StatelessWidget { providers: [ BlocProvider(create: (_) => CharacterThemeCubit()), BlocProvider(create: (_) => StartGameBloc()), + BlocProvider(create: (_) => GameBloc()), ], child: MaterialApp( title: 'I/O Pinball', diff --git a/lib/game/view/pinball_game_page.dart b/lib/game/view/pinball_game_page.dart index 2786b867..1005c728 100644 --- a/lib/game/view/pinball_game_page.dart +++ b/lib/game/view/pinball_game_page.dart @@ -23,15 +23,9 @@ class PinballGamePage extends StatelessWidget { final bool isDebugMode; - static Route route({ - bool isDebugMode = kDebugMode, - }) { + static Route route({bool isDebugMode = kDebugMode}) { return MaterialPageRoute( - builder: (context) { - return PinballGamePage( - isDebugMode: isDebugMode, - ); - }, + builder: (_) => PinballGamePage(isDebugMode: isDebugMode), ); } @@ -41,41 +35,33 @@ class PinballGamePage extends StatelessWidget { context.read().state.characterTheme; final player = context.read(); final leaderboardRepository = context.read(); + final gameBloc = context.read(); + final game = isDebugMode + ? DebugPinballGame( + characterTheme: characterTheme, + player: player, + leaderboardRepository: leaderboardRepository, + l10n: context.l10n, + gameBloc: gameBloc, + ) + : PinballGame( + characterTheme: characterTheme, + player: player, + leaderboardRepository: leaderboardRepository, + l10n: context.l10n, + gameBloc: gameBloc, + ); + + final loadables = [ + ...game.preLoadAssets(), + ...player.load(), + ...BonusAnimation.loadAssets(), + ...SelectedCharacter.loadAssets(), + ]; return BlocProvider( - create: (_) => GameBloc(), - child: Builder( - builder: (context) { - final gameBloc = context.read(); - final game = isDebugMode - ? DebugPinballGame( - characterTheme: characterTheme, - player: player, - leaderboardRepository: leaderboardRepository, - l10n: context.l10n, - gameBloc: gameBloc, - ) - : PinballGame( - characterTheme: characterTheme, - player: player, - leaderboardRepository: leaderboardRepository, - l10n: context.l10n, - gameBloc: gameBloc, - ); - - final loadables = [ - ...game.preLoadAssets(), - ...player.load(), - ...BonusAnimation.loadAssets(), - ...SelectedCharacter.loadAssets(), - ]; - - return BlocProvider( - create: (_) => AssetsManagerCubit(loadables)..load(), - child: PinballGameView(game: game), - ); - }, - ), + create: (_) => AssetsManagerCubit(loadables)..load(), + child: PinballGameView(game: game), ); } } diff --git a/packages/pinball_components/lib/src/components/chrome_dino/chrome_dino.dart b/packages/pinball_components/lib/src/components/chrome_dino/chrome_dino.dart index 38a335b9..61052b60 100644 --- a/packages/pinball_components/lib/src/components/chrome_dino/chrome_dino.dart +++ b/packages/pinball_components/lib/src/components/chrome_dino/chrome_dino.dart @@ -61,13 +61,13 @@ class ChromeDino extends BodyComponent List _createFixtureDefs() { const mouthAngle = -(halfSweepingAngle + 0.28); - final size = Vector2(5.5, 6); + final size = Vector2(6, 6); final topEdge = PolygonShape() ..setAsBox( size.x / 2, 0.1, - initialPosition + Vector2(-4.2, -1.4), + initialPosition + Vector2(-4, -1.4), mouthAngle, ); final topEdgeFixtureDef = FixtureDef(topEdge, density: 100); @@ -76,7 +76,7 @@ class ChromeDino extends BodyComponent ..setAsBox( 0.1, size.y / 2, - initialPosition + Vector2(-1.3, 0.5), + initialPosition + Vector2(-1, 0.5), -halfSweepingAngle, ); final backEdgeFixtureDef = FixtureDef(backEdge, density: 100); @@ -85,7 +85,7 @@ class ChromeDino extends BodyComponent ..setAsBox( size.x / 2, 0.1, - initialPosition + Vector2(-3.5, 4.7), + initialPosition + Vector2(-3.3, 4.7), mouthAngle, ); final bottomEdgeFixtureDef = FixtureDef( @@ -110,7 +110,7 @@ class ChromeDino extends BodyComponent ..setAsBox( 0.2, 0.2, - initialPosition + Vector2(-3.5, 1.5), + initialPosition + Vector2(-3, 1.5), 0, ); final insideSensorFixtureDef = FixtureDef( diff --git a/packages/pinball_components/test/src/components/chrome_dino/golden/chrome_dino/down.png b/packages/pinball_components/test/src/components/chrome_dino/golden/chrome_dino/down.png index eaeb458e..a84d84c2 100644 Binary files a/packages/pinball_components/test/src/components/chrome_dino/golden/chrome_dino/down.png and b/packages/pinball_components/test/src/components/chrome_dino/golden/chrome_dino/down.png differ diff --git a/packages/pinball_components/test/src/components/chrome_dino/golden/chrome_dino/middle.png b/packages/pinball_components/test/src/components/chrome_dino/golden/chrome_dino/middle.png index d8665644..0515f5f5 100644 Binary files a/packages/pinball_components/test/src/components/chrome_dino/golden/chrome_dino/middle.png and b/packages/pinball_components/test/src/components/chrome_dino/golden/chrome_dino/middle.png differ diff --git a/packages/pinball_components/test/src/components/chrome_dino/golden/chrome_dino/up.png b/packages/pinball_components/test/src/components/chrome_dino/golden/chrome_dino/up.png index a584b785..0a2d4674 100644 Binary files a/packages/pinball_components/test/src/components/chrome_dino/golden/chrome_dino/up.png and b/packages/pinball_components/test/src/components/chrome_dino/golden/chrome_dino/up.png differ diff --git a/pubspec.lock b/pubspec.lock index 68e08467..83de1390 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -821,4 +821,4 @@ packages: version: "3.1.0" sdks: dart: ">=2.16.0 <3.0.0" - flutter: ">=2.10.0" + flutter: ">=2.10.5" diff --git a/pubspec.yaml b/pubspec.yaml index c62191a9..1a025d4a 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -5,6 +5,7 @@ publish_to: none environment: sdk: ">=2.16.0 <3.0.0" + flutter: 2.10.5 dependencies: authentication_repository: diff --git a/test/game/view/pinball_game_page_test.dart b/test/game/view/pinball_game_page_test.dart index c4515ca8..a0ed4c7e 100644 --- a/test/game/view/pinball_game_page_test.dart +++ b/test/game/view/pinball_game_page_test.dart @@ -84,6 +84,7 @@ void main() { await tester.pumpApp( PinballGamePage(), characterThemeCubit: characterThemeCubit, + gameBloc: gameBloc, ); expect(find.byType(PinballGameView), findsOneWidget); @@ -172,6 +173,7 @@ void main() { ), ), characterThemeCubit: characterThemeCubit, + gameBloc: gameBloc, ); await tester.tap(find.text('Tap me'));