From 3d9e669d2f52f78a130b95f66ea409ea636e6060 Mon Sep 17 00:00:00 2001 From: alestiago Date: Mon, 2 May 2022 01:41:34 +0100 Subject: [PATCH] refactor: adjusted Kicker constructor --- lib/game/components/bottom_group.dart | 1 - .../lib/src/components/kicker/kicker.dart | 12 +++++++++++- .../lib/stories/bottom_group/kicker_game.dart | 4 ++-- .../kicker_ball_contact_behavior_test.dart | 5 ++++- .../kicker_blinking_behavior_test.dart | 5 ++++- .../test/src/components/kicker_test.dart | 17 ++++++++--------- 6 files changed, 29 insertions(+), 15 deletions(-) diff --git a/lib/game/components/bottom_group.dart b/lib/game/components/bottom_group.dart index 136bb1b9..b4a888f4 100644 --- a/lib/game/components/bottom_group.dart +++ b/lib/game/components/bottom_group.dart @@ -50,7 +50,6 @@ class _BottomGroupSide extends Component { ); final kicker = Kicker( side: _side, - bloc: KickerCubit(), children: [ ScoringBehavior(points: 5000)..applyTo(['bouncy_edge']), ], diff --git a/packages/pinball_components/lib/src/components/kicker/kicker.dart b/packages/pinball_components/lib/src/components/kicker/kicker.dart index fa99b280..3301e2ba 100644 --- a/packages/pinball_components/lib/src/components/kicker/kicker.dart +++ b/packages/pinball_components/lib/src/components/kicker/kicker.dart @@ -21,6 +21,15 @@ export 'cubit/kicker_cubit.dart'; class Kicker extends BodyComponent with InitialPosition { /// {@macro kicker} Kicker({ + required BoardSide side, + Iterable? children, + }) : this._( + side: side, + bloc: KickerCubit(), + children: children, + ); + + Kicker._({ required BoardSide side, required this.bloc, Iterable? children, @@ -47,7 +56,8 @@ class Kicker extends BodyComponent with InitialPosition { @visibleForTesting Kicker.test({ required this.bloc, - }) : _side = BoardSide.left; + required BoardSide side, + }) : _side = side; // TODO(alestiago): Consider refactoring once the following is merged: // https://github.com/flame-engine/flame/pull/1538 diff --git a/packages/pinball_components/sandbox/lib/stories/bottom_group/kicker_game.dart b/packages/pinball_components/sandbox/lib/stories/bottom_group/kicker_game.dart index d59ed73b..590638e0 100644 --- a/packages/pinball_components/sandbox/lib/stories/bottom_group/kicker_game.dart +++ b/packages/pinball_components/sandbox/lib/stories/bottom_group/kicker_game.dart @@ -27,9 +27,9 @@ class KickerGame extends BallGame { final center = screenToWorld(camera.viewport.canvasSize! / 2); await addAll( [ - Kicker(side: BoardSide.left, bloc: KickerCubit()) + Kicker(side: BoardSide.left) ..initialPosition = Vector2(center.x - 8.8, center.y), - Kicker(side: BoardSide.right, bloc: KickerCubit()) + Kicker(side: BoardSide.right) ..initialPosition = Vector2(center.x + 8.8, center.y), ], ); diff --git a/packages/pinball_components/test/src/components/kicker/behaviors/kicker_ball_contact_behavior_test.dart b/packages/pinball_components/test/src/components/kicker/behaviors/kicker_ball_contact_behavior_test.dart index f169ae80..721925c2 100644 --- a/packages/pinball_components/test/src/components/kicker/behaviors/kicker_ball_contact_behavior_test.dart +++ b/packages/pinball_components/test/src/components/kicker/behaviors/kicker_ball_contact_behavior_test.dart @@ -34,7 +34,10 @@ void main() { initialState: KickerState.lit, ); - final kicker = Kicker.test(bloc: bloc); + final kicker = Kicker.test( + side: BoardSide.left, + bloc: bloc, + ); await kicker.add(behavior); await game.ensureAdd(kicker); diff --git a/packages/pinball_components/test/src/components/kicker/behaviors/kicker_blinking_behavior_test.dart b/packages/pinball_components/test/src/components/kicker/behaviors/kicker_blinking_behavior_test.dart index 724f1b2f..754b5e85 100644 --- a/packages/pinball_components/test/src/components/kicker/behaviors/kicker_blinking_behavior_test.dart +++ b/packages/pinball_components/test/src/components/kicker/behaviors/kicker_blinking_behavior_test.dart @@ -28,7 +28,10 @@ void main() { initialState: KickerState.lit, ); - final kicker = Kicker.test(bloc: bloc); + final kicker = Kicker.test( + side: BoardSide.left, + bloc: bloc, + ); await kicker.add(behavior); await game.ensureAdd(kicker); diff --git a/packages/pinball_components/test/src/components/kicker_test.dart b/packages/pinball_components/test/src/components/kicker_test.dart index 30191db3..2bb2582a 100644 --- a/packages/pinball_components/test/src/components/kicker_test.dart +++ b/packages/pinball_components/test/src/components/kicker_test.dart @@ -27,11 +27,11 @@ void main() { await game.images.loadAll(assets); final leftKicker = Kicker( side: BoardSide.left, - bloc: KickerCubit(), - )..initialPosition = Vector2(-20, 0); + ) + ..initialPosition = Vector2(-20, 0) + ..renderBody = false; final rightKicker = Kicker( side: BoardSide.right, - bloc: KickerCubit(), )..initialPosition = Vector2(20, 0); await game.ensureAddAll([leftKicker, rightKicker]); @@ -49,7 +49,7 @@ void main() { flameTester.test( 'loads correctly', (game) async { - final kicker = Kicker( + final kicker = Kicker.test( side: BoardSide.left, bloc: KickerCubit(), ); @@ -70,7 +70,10 @@ void main() { initialState: KickerState.lit, ); when(bloc.close).thenAnswer((_) async {}); - final kicker = Kicker.test(bloc: bloc); + final kicker = Kicker.test( + side: BoardSide.left, + bloc: bloc, + ); await game.ensureAdd(kicker); game.remove(kicker); @@ -85,7 +88,6 @@ void main() { final kicker = Kicker( side: BoardSide.left, children: [component], - bloc: KickerCubit(), ); await game.ensureAdd(kicker); expect(kicker.children, contains(component)); @@ -94,7 +96,6 @@ void main() { flameTester.test('a BumpingBehavior', (game) async { final kicker = Kicker( side: BoardSide.left, - bloc: KickerCubit(), ); await game.ensureAdd(kicker); expect( @@ -106,7 +107,6 @@ void main() { flameTester.test('a KickerBallContactBehavior', (game) async { final kicker = Kicker( side: BoardSide.left, - bloc: KickerCubit(), ); await game.ensureAdd(kicker); expect( @@ -118,7 +118,6 @@ void main() { flameTester.test('a KickerBlinkingBehavior', (game) async { final kicker = Kicker( side: BoardSide.left, - bloc: KickerCubit(), ); await game.ensureAdd(kicker); expect(