diff --git a/packages/pinball_components/lib/src/components/ball/behaviors/ball_turbo_charging_behavior.dart b/packages/pinball_components/lib/src/components/ball/behaviors/ball_turbo_charging_behavior.dart index f1e5a855..006282ce 100644 --- a/packages/pinball_components/lib/src/components/ball/behaviors/ball_turbo_charging_behavior.dart +++ b/packages/pinball_components/lib/src/components/ball/behaviors/ball_turbo_charging_behavior.dart @@ -57,7 +57,7 @@ class _TurboChargeSpriteAnimationComponent extends SpriteAnimationComponent Future onLoad() async { await super.onLoad(); - final spriteSheet = await gameRef.images.load( + final spriteSheet = gameRef.images.fromCache( Assets.images.ball.flameEffect.keyName, ); diff --git a/packages/pinball_components/lib/src/components/boundaries.dart b/packages/pinball_components/lib/src/components/boundaries.dart index 4be27cef..d1ad34e0 100644 --- a/packages/pinball_components/lib/src/components/boundaries.dart +++ b/packages/pinball_components/lib/src/components/boundaries.dart @@ -109,7 +109,7 @@ class _OuterBoundary extends BodyComponent with InitialPosition, ZIndex { final topLeftCurve = BezierCurveShape( controlPoints: [ - topWall.vertex1, + topWall.vertex2, Vector2(-31.5, -69.9), Vector2(-32.3, -57.2), ], @@ -123,7 +123,7 @@ class _OuterBoundary extends BodyComponent with InitialPosition, ZIndex { final upperLeftWallCurve = BezierCurveShape( controlPoints: [ - topLeftWall.vertex1, + topLeftWall.vertex2, Vector2(-33.9, -40.7), Vector2(-32.5, -39), ], diff --git a/packages/pinball_components/lib/src/components/plunger/plunger.dart b/packages/pinball_components/lib/src/components/plunger/plunger.dart index 9f3b6873..fbb7a437 100644 --- a/packages/pinball_components/lib/src/components/plunger/plunger.dart +++ b/packages/pinball_components/lib/src/components/plunger/plunger.dart @@ -108,7 +108,7 @@ class _PlungerSpriteAnimationGroupComponent @override Future onLoad() async { await super.onLoad(); - final spriteSheet = await gameRef.images.load( + final spriteSheet = gameRef.images.fromCache( Assets.images.plunger.plunger.keyName, ); const amountPerRow = 20; diff --git a/packages/pinball_components/sandbox/lib/stories/android_acres/android_spaceship_game.dart b/packages/pinball_components/sandbox/lib/stories/android_acres/android_spaceship_game.dart index 185f5351..c7c9b76c 100644 --- a/packages/pinball_components/sandbox/lib/stories/android_acres/android_spaceship_game.dart +++ b/packages/pinball_components/sandbox/lib/stories/android_acres/android_spaceship_game.dart @@ -1,6 +1,7 @@ import 'dart:async'; import 'package:flame/input.dart'; +import 'package:flame_bloc/flame_bloc.dart'; import 'package:pinball_components/pinball_components.dart'; import 'package:pinball_flame/pinball_flame.dart'; import 'package:sandbox/stories/ball/basic_ball_game.dart'; @@ -29,11 +30,14 @@ class AndroidSpaceshipGame extends BallGame { await super.onLoad(); camera.followVector2(Vector2.zero()); - await addAll( - [ - AndroidSpaceship(position: Vector2.zero()), - AndroidAnimatronic(), - ], + await add( + FlameBlocProvider( + create: AndroidSpaceshipCubit.new, + children: [ + AndroidSpaceship(position: Vector2.zero()), + AndroidAnimatronic(), + ], + ), ); await traceAllBodies(); diff --git a/packages/pinball_components/sandbox/lib/stories/launch_ramp/launch_ramp_game.dart b/packages/pinball_components/sandbox/lib/stories/launch_ramp/launch_ramp_game.dart index c1d435d5..fef1a145 100644 --- a/packages/pinball_components/sandbox/lib/stories/launch_ramp/launch_ramp_game.dart +++ b/packages/pinball_components/sandbox/lib/stories/launch_ramp/launch_ramp_game.dart @@ -10,6 +10,11 @@ class LaunchRampGame extends BallGame { : super( ballPriority: ZIndexes.ballOnLaunchRamp, ballLayer: Layer.launcher, + imagesFileNames: [ + Assets.images.launchRamp.ramp.keyName, + Assets.images.launchRamp.backgroundRailing.keyName, + Assets.images.launchRamp.foregroundRailing.keyName, + ], ); static const description = ''' diff --git a/packages/pinball_components/sandbox/lib/stories/plunger/plunger_game.dart b/packages/pinball_components/sandbox/lib/stories/plunger/plunger_game.dart index 50af919f..328afce4 100644 --- a/packages/pinball_components/sandbox/lib/stories/plunger/plunger_game.dart +++ b/packages/pinball_components/sandbox/lib/stories/plunger/plunger_game.dart @@ -1,10 +1,18 @@ import 'package:flame/input.dart'; +import 'package:flame_bloc/flame_bloc.dart'; import 'package:pinball_components/pinball_components.dart'; import 'package:sandbox/common/common.dart'; import 'package:sandbox/stories/ball/basic_ball_game.dart'; class PlungerGame extends BallGame with HasKeyboardHandlerComponents, Traceable { + PlungerGame() + : super( + imagesFileNames: [ + Assets.images.plunger.plunger.keyName, + ], + ); + static const description = ''' Shows how Plunger is rendered. @@ -19,7 +27,12 @@ class PlungerGame extends BallGame final center = screenToWorld(camera.viewport.canvasSize! / 2); final plunger = Plunger() ..initialPosition = Vector2(center.x - 8.8, center.y); - await add(plunger); + await add( + FlameBlocProvider( + create: PlungerCubit.new, + children: [plunger], + ), + ); await plunger.add(PlungerKeyControllingBehavior()); await traceAllBodies(); diff --git a/packages/pinball_components/sandbox/pubspec.lock b/packages/pinball_components/sandbox/pubspec.lock index 9fcb0f89..5e4c6061 100644 --- a/packages/pinball_components/sandbox/pubspec.lock +++ b/packages/pinball_components/sandbox/pubspec.lock @@ -128,7 +128,7 @@ packages: source: hosted version: "1.0.2" flame_bloc: - dependency: transitive + dependency: "direct main" description: name: flame_bloc url: "https://pub.dartlang.org" diff --git a/packages/pinball_components/sandbox/pubspec.yaml b/packages/pinball_components/sandbox/pubspec.yaml index 791020d0..cbe1c7be 100644 --- a/packages/pinball_components/sandbox/pubspec.yaml +++ b/packages/pinball_components/sandbox/pubspec.yaml @@ -9,6 +9,7 @@ environment: dependencies: dashbook: ^0.1.7 flame: ^1.1.1 + flame_bloc: ^1.4.0 flame_forge2d: git: url: https://github.com/flame-engine/flame diff --git a/packages/pinball_components/test/src/components/ball/behaviors/ball_turbo_charging_behavior_test.dart b/packages/pinball_components/test/src/components/ball/behaviors/ball_turbo_charging_behavior_test.dart index 79eb030e..09eabe0e 100644 --- a/packages/pinball_components/test/src/components/ball/behaviors/ball_turbo_charging_behavior_test.dart +++ b/packages/pinball_components/test/src/components/ball/behaviors/ball_turbo_charging_behavior_test.dart @@ -14,8 +14,11 @@ void main() { group( 'BallTurboChargingBehavior', () { - final asset = theme.Assets.images.dash.ball.keyName; - final flameTester = FlameTester(() => TestGame([asset])); + final assets = [ + theme.Assets.images.dash.ball.keyName, + Assets.images.ball.flameEffect.keyName, + ]; + final flameTester = FlameTester(() => TestGame(assets)); test('can be instantiated', () { expect( diff --git a/packages/pinball_components/test/src/components/plunger/plunger_test.dart b/packages/pinball_components/test/src/components/plunger/plunger_test.dart index 32a6a45b..6017f255 100644 --- a/packages/pinball_components/test/src/components/plunger/plunger_test.dart +++ b/packages/pinball_components/test/src/components/plunger/plunger_test.dart @@ -10,7 +10,8 @@ import '../../../helpers/helpers.dart'; void main() { TestWidgetsFlutterBinding.ensureInitialized(); - final flameTester = FlameTester(TestGame.new); + final asset = Assets.images.plunger.plunger.keyName; + final flameTester = FlameTester(() => TestGame([asset])); group('Plunger', () { test('can be instantiated', () { @@ -69,6 +70,7 @@ void main() { flameTester.testGameWidget( 'pulling', setUp: (game, tester) async { + await game.images.load(asset); await game.ensureAdd(Plunger()); game.camera.followVector2(Vector2.zero()); game.camera.zoom = 4.1; @@ -92,6 +94,7 @@ void main() { flameTester.testGameWidget( 'releasing', setUp: (game, tester) async { + await game.images.load(asset); await game.ensureAdd(Plunger()); game.camera.followVector2(Vector2.zero()); game.camera.zoom = 4.1;