From a346419694014de5ebc7406643f8286635341cb7 Mon Sep 17 00:00:00 2001 From: Allison Ryan Date: Sun, 1 May 2022 18:21:11 -0500 Subject: [PATCH] feat: add blinking assets --- lib/game/components/bottom_group.dart | 11 ++- lib/game/game_assets.dart | 6 +- .../assets/images/kicker/left.png | Bin 14253 -> 0 bytes .../assets/images/kicker/left/dimmed.png | Bin 0 -> 16758 bytes .../assets/images/kicker/left/lit.png | Bin 0 -> 17115 bytes .../assets/images/kicker/right.png | Bin 13917 -> 0 bytes .../assets/images/kicker/right/dimmed.png | Bin 0 -> 16776 bytes .../assets/images/kicker/right/lit.png | Bin 0 -> 17139 bytes .../lib/gen/assets.gen.dart | 33 +++++-- .../lib/src/components/components.dart | 2 +- .../kicker/behaviors/behaviors.dart | 2 + .../kicker_ball_contact_behavior.dart | 13 +++ .../behaviors/kicker_blinking_behavior.dart | 36 ++++++++ .../components/kicker/cubit/kicker_cubit.dart | 6 +- .../lib/src/components/kicker/kicker.dart | 86 ++++++++++++++---- packages/pinball_components/pubspec.yaml | 3 +- .../lib/stories/bottom_group/kicker_game.dart | 14 ++- 17 files changed, 175 insertions(+), 37 deletions(-) delete mode 100644 packages/pinball_components/assets/images/kicker/left.png create mode 100644 packages/pinball_components/assets/images/kicker/left/dimmed.png create mode 100644 packages/pinball_components/assets/images/kicker/left/lit.png delete mode 100644 packages/pinball_components/assets/images/kicker/right.png create mode 100644 packages/pinball_components/assets/images/kicker/right/dimmed.png create mode 100644 packages/pinball_components/assets/images/kicker/right/lit.png diff --git a/lib/game/components/bottom_group.dart b/lib/game/components/bottom_group.dart index 921a8e58..d511e5cf 100644 --- a/lib/game/components/bottom_group.dart +++ b/lib/game/components/bottom_group.dart @@ -36,7 +36,7 @@ class _BottomGroupSide extends Component { @override Future onLoad() async { final direction = _side.direction; - final centerXAdjustment = _side.isLeft ? 0 : -6.5; + final centerXAdjustment = _side.isLeft ? 0 : -6.66; final flipper = ControlledFlipper( side: _side, @@ -44,16 +44,17 @@ class _BottomGroupSide extends Component { final baseboard = Baseboard(side: _side) ..initialPosition = Vector2( (25.58 * direction) + centerXAdjustment, - 28.69, + 28.71, ); final kicker = Kicker( side: _side, + bloc: KickerCubit(), children: [ - ScoringBehavior(points: 5000), + ScoringBehavior(points: 5000)..applyTo(['bouncy_edge']), ], )..initialPosition = Vector2( - (22.4 * direction) + centerXAdjustment, - 25, + (22.64 * direction) + centerXAdjustment, + 25.1, ); await addAll([flipper, baseboard, kicker]); diff --git a/lib/game/game_assets.dart b/lib/game/game_assets.dart index 744593fb..e48ab7ff 100644 --- a/lib/game/game_assets.dart +++ b/lib/game/game_assets.dart @@ -24,8 +24,10 @@ extension PinballGameAssetsX on PinballGame { images.load(components.Assets.images.flipper.right.keyName), images.load(components.Assets.images.baseboard.left.keyName), images.load(components.Assets.images.baseboard.right.keyName), - images.load(components.Assets.images.kicker.left.keyName), - images.load(components.Assets.images.kicker.right.keyName), + images.load(components.Assets.images.kicker.left.lit.keyName), + images.load(components.Assets.images.kicker.left.dimmed.keyName), + images.load(components.Assets.images.kicker.right.lit.keyName), + images.load(components.Assets.images.kicker.right.dimmed.keyName), images.load(components.Assets.images.slingshot.upper.keyName), images.load(components.Assets.images.slingshot.lower.keyName), images.load(components.Assets.images.launchRamp.ramp.keyName), diff --git a/packages/pinball_components/assets/images/kicker/left.png b/packages/pinball_components/assets/images/kicker/left.png deleted file mode 100644 index 42bd5030e8b4acf1d86d9f8fd2839e2744feac18..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14253 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

EG#nZHXj1yfnlRxPU2iEB4)l=K^?Pq?W;A$nT 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 literal 0 HcmV?d00001 diff --git a/packages/pinball_components/assets/images/kicker/left/lit.png b/packages/pinball_components/assets/images/kicker/left/lit.png new file mode 100644 index 0000000000000000000000000000000000000000..d2f576611bd1f14dd19ef727ed2ebc3c5c8be1da GIT binary patch literal 17115 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 }s|;f=d*V!pDNuSPH5 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 literal 0 HcmV?d00001 diff --git a/packages/pinball_components/assets/images/kicker/right/lit.png b/packages/pinball_components/assets/images/kicker/right/lit.png new file mode 100644 index 0000000000000000000000000000000000000000..cfe992b4cca23668baeadb8a9c63818240057ce3 GIT binary patch literal 17139 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 - const AssetGenImage('assets/images/kicker/left.png'); - - /// File path: assets/images/kicker/right.png - AssetGenImage get right => - const AssetGenImage('assets/images/kicker/right.png'); + $AssetsImagesKickerLeftGen get left => const $AssetsImagesKickerLeftGen(); + $AssetsImagesKickerRightGen get right => const $AssetsImagesKickerRightGen(); } class $AssetsImagesLaunchRampGen { @@ -344,6 +339,30 @@ class $AssetsImagesDinoAnimatronicGen { const AssetGenImage('assets/images/dino/animatronic/mouth.png'); } +class $AssetsImagesKickerLeftGen { + const $AssetsImagesKickerLeftGen(); + + /// File path: assets/images/kicker/left/dimmed.png + AssetGenImage get dimmed => + const AssetGenImage('assets/images/kicker/left/dimmed.png'); + + /// File path: assets/images/kicker/left/lit.png + AssetGenImage get lit => + const AssetGenImage('assets/images/kicker/left/lit.png'); +} + +class $AssetsImagesKickerRightGen { + const $AssetsImagesKickerRightGen(); + + /// File path: assets/images/kicker/right/dimmed.png + AssetGenImage get dimmed => + const AssetGenImage('assets/images/kicker/right/dimmed.png'); + + /// File path: assets/images/kicker/right/lit.png + AssetGenImage get lit => + const AssetGenImage('assets/images/kicker/right/lit.png'); +} + class $AssetsImagesMultiplierX2Gen { const $AssetsImagesMultiplierX2Gen(); diff --git a/packages/pinball_components/lib/src/components/components.dart b/packages/pinball_components/lib/src/components/components.dart index 2781030e..9a29e77f 100644 --- a/packages/pinball_components/lib/src/components/components.dart +++ b/packages/pinball_components/lib/src/components/components.dart @@ -17,7 +17,7 @@ export 'flipper.dart'; export 'google_letter/google_letter.dart'; export 'initial_position.dart'; export 'joint_anchor.dart'; -export 'kicker.dart'; +export 'kicker/kicker.dart'; export 'launch_ramp.dart'; export 'layer.dart'; export 'layer_sensor.dart'; diff --git a/packages/pinball_components/lib/src/components/kicker/behaviors/behaviors.dart b/packages/pinball_components/lib/src/components/kicker/behaviors/behaviors.dart index e69de29b..e1098a34 100644 --- a/packages/pinball_components/lib/src/components/kicker/behaviors/behaviors.dart +++ b/packages/pinball_components/lib/src/components/kicker/behaviors/behaviors.dart @@ -0,0 +1,2 @@ +export 'kicker_ball_contact_behavior.dart'; +export 'kicker_blinking_behavior.dart'; diff --git a/packages/pinball_components/lib/src/components/kicker/behaviors/kicker_ball_contact_behavior.dart b/packages/pinball_components/lib/src/components/kicker/behaviors/kicker_ball_contact_behavior.dart index 8b137891..d5d2eb6c 100644 --- a/packages/pinball_components/lib/src/components/kicker/behaviors/kicker_ball_contact_behavior.dart +++ b/packages/pinball_components/lib/src/components/kicker/behaviors/kicker_ball_contact_behavior.dart @@ -1 +1,14 @@ +// ignore_for_file: public_member_api_docs +import 'package:flame_forge2d/flame_forge2d.dart'; +import 'package:pinball_components/pinball_components.dart'; +import 'package:pinball_flame/pinball_flame.dart'; + +class KickerBallContactBehavior extends ContactBehavior { + @override + void beginContact(Object other, Contact contact) { + super.beginContact(other, contact); + if (other is! Ball) return; + parent.bloc.onBallContacted(); + } +} diff --git a/packages/pinball_components/lib/src/components/kicker/behaviors/kicker_blinking_behavior.dart b/packages/pinball_components/lib/src/components/kicker/behaviors/kicker_blinking_behavior.dart index 8b137891..569d461f 100644 --- a/packages/pinball_components/lib/src/components/kicker/behaviors/kicker_blinking_behavior.dart +++ b/packages/pinball_components/lib/src/components/kicker/behaviors/kicker_blinking_behavior.dart @@ -1 +1,37 @@ +import 'package:flame/components.dart'; +import 'package:pinball_components/pinball_components.dart'; +import 'package:pinball_flame/pinball_flame.dart'; +/// {@template kicker_blinking_behavior} +/// Makes a [Kicker] blink back to [KickerState.lit] when [KickerState.dimmed]. +/// {@endtemplate} +class KickerBlinkingBehavior extends TimerComponent with ParentIsA { + /// {@macro kicker_blinking_behavior} + KickerBlinkingBehavior() : super(period: 0.05); + + void _onNewState(KickerState state) { + switch (state) { + case KickerState.lit: + break; + case KickerState.dimmed: + timer + ..reset() + ..start(); + break; + } + } + + @override + Future onLoad() async { + await super.onLoad(); + timer.stop(); + parent.bloc.stream.listen(_onNewState); + } + + @override + void onTick() { + super.onTick(); + timer.stop(); + parent.bloc.onBlinked(); + } +} diff --git a/packages/pinball_components/lib/src/components/kicker/cubit/kicker_cubit.dart b/packages/pinball_components/lib/src/components/kicker/cubit/kicker_cubit.dart index 8428a64f..488f4683 100644 --- a/packages/pinball_components/lib/src/components/kicker/cubit/kicker_cubit.dart +++ b/packages/pinball_components/lib/src/components/kicker/cubit/kicker_cubit.dart @@ -5,13 +5,13 @@ import 'package:bloc/bloc.dart'; part 'kicker_state.dart'; class KickerCubit extends Cubit { - KickerCubit() : super(KickerState.dimmed); + KickerCubit() : super(KickerState.lit); void onBallContacted() { - emit(KickerState.lit); + emit(KickerState.dimmed); } void onBlinked() { - emit(KickerState.dimmed); + emit(KickerState.lit); } } diff --git a/packages/pinball_components/lib/src/components/kicker/kicker.dart b/packages/pinball_components/lib/src/components/kicker/kicker.dart index e0ac87ee..3507de2e 100644 --- a/packages/pinball_components/lib/src/components/kicker/kicker.dart +++ b/packages/pinball_components/lib/src/components/kicker/kicker.dart @@ -2,9 +2,15 @@ import 'dart:math' as math; import 'package:flame/components.dart'; import 'package:flame_forge2d/flame_forge2d.dart'; +import 'package:flutter/material.dart'; import 'package:geometry/geometry.dart' as geometry show centroid; import 'package:pinball_components/gen/assets.gen.dart'; import 'package:pinball_components/pinball_components.dart' hide Assets; +import 'package:pinball_components/src/components/bumping_behavior.dart'; +import 'package:pinball_components/src/components/kicker/behaviors/behaviors.dart'; +import 'package:pinball_flame/pinball_flame.dart'; + +export 'cubit/kicker_cubit.dart'; /// {@template kicker} /// Triangular [BodyType.static] body that propels the [Ball] towards the @@ -16,16 +22,44 @@ class Kicker extends BodyComponent with InitialPosition { /// {@macro kicker} Kicker({ required BoardSide side, + required this.bloc, Iterable? children, }) : _side = side, super( children: [ - _KickerSpriteComponent(side: side), + BumpingBehavior(strength: 15)..applyTo(['bouncy_edge']), + KickerBallContactBehavior()..applyTo(['bouncy_edge']), + KickerBlinkingBehavior(), + _KickerSpriteGroupComponent( + side: side, + state: bloc.state, + ), ...?children, ], renderBody: false, ); + /// Creates an [Kicker] without any children. + /// + /// This can be used for testing [Kicker]'s behaviors in isolation. + // TODO(alestiago): Refactor injecting bloc once the following is merged: + // https://github.com/flame-engine/flame/pull/1538 + @visibleForTesting + Kicker.test({ + required this.bloc, + }) : _side = BoardSide.left; + + // TODO(alestiago): Consider refactoring once the following is merged: + // https://github.com/flame-engine/flame/pull/1538 + // ignore: public_member_api_docs + final KickerCubit bloc; + + @override + void onRemove() { + bloc.close(); + super.onRemove(); + } + /// Whether the [Kicker] is on the left or right side of the board. /// /// A [Kicker] with [BoardSide.left] propels the [Ball] to the right, @@ -86,8 +120,7 @@ class Kicker extends BodyComponent with InitialPosition { FixtureDef(lowerCircle), FixtureDef(wallFacingEdge), FixtureDef(bottomEdge), - // TODO(alestiago): Add BumpingBehaviour. - FixtureDef(bouncyEdge), + FixtureDef(bouncyEdge, userData: 'bouncy_edge'), ]; // TODO(alestiago): Evaluate if there is value on centering the fixtures. @@ -121,25 +154,46 @@ class Kicker extends BodyComponent with InitialPosition { } } -class _KickerSpriteComponent extends SpriteComponent with HasGameRef { - _KickerSpriteComponent({required BoardSide side}) : _side = side; +class _KickerSpriteGroupComponent extends SpriteGroupComponent + with HasGameRef, ParentIsA { + _KickerSpriteGroupComponent({ + required BoardSide side, + required KickerState state, + }) : _side = side, + super( + anchor: Anchor.center, + position: Vector2(0.7 * -side.direction, -2.2), + current: state, + ); final BoardSide _side; @override Future onLoad() async { await super.onLoad(); - - // TODO(alestiago): Used cached asset. - final sprite = await gameRef.loadSprite( - (_side.isLeft) - ? Assets.images.kicker.left.keyName - : Assets.images.kicker.right.keyName, - ); - this.sprite = sprite; - size = sprite.originalSize / 10; - anchor = Anchor.center; - position = Vector2(0.7 * -_side.direction, -2.2); + // TODO(alestiago): Consider refactoring once the following is merged: + // https://github.com/flame-engine/flame/pull/1538 + // ignore: public_member_api_docs + parent.bloc.stream.listen((state) => current = state); + + final sprites = { + KickerState.lit: Sprite( + gameRef.images.fromCache( + (_side.isLeft) + ? Assets.images.kicker.left.lit.keyName + : Assets.images.kicker.right.lit.keyName, + ), + ), + KickerState.dimmed: Sprite( + gameRef.images.fromCache( + (_side.isLeft) + ? Assets.images.kicker.left.dimmed.keyName + : Assets.images.kicker.right.dimmed.keyName, + ), + ), + }; + this.sprites = sprites; + size = sprites[current]!.originalSize / 10; } } diff --git a/packages/pinball_components/pubspec.yaml b/packages/pinball_components/pubspec.yaml index 29b4e31a..8352afa3 100644 --- a/packages/pinball_components/pubspec.yaml +++ b/packages/pinball_components/pubspec.yaml @@ -64,7 +64,8 @@ flutter: - assets/images/android/bumper/a/ - assets/images/android/bumper/b/ - assets/images/android/bumper/cow/ - - assets/images/kicker/ + - assets/images/kicker/left/ + - assets/images/kicker/right/ - assets/images/plunger/ - assets/images/slingshot/ - assets/images/sparky/ 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 42e21912..d59ed73b 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 @@ -3,6 +3,16 @@ import 'package:pinball_components/pinball_components.dart'; import 'package:sandbox/stories/ball/basic_ball_game.dart'; class KickerGame extends BallGame { + KickerGame() + : super( + imagesFileNames: [ + Assets.images.kicker.left.lit.keyName, + Assets.images.kicker.left.dimmed.keyName, + Assets.images.kicker.right.lit.keyName, + Assets.images.kicker.right.dimmed.keyName, + ], + ); + static const description = ''' Shows how Kickers are rendered. @@ -17,9 +27,9 @@ class KickerGame extends BallGame { final center = screenToWorld(camera.viewport.canvasSize! / 2); await addAll( [ - Kicker(side: BoardSide.left) + Kicker(side: BoardSide.left, bloc: KickerCubit()) ..initialPosition = Vector2(center.x - 8.8, center.y), - Kicker(side: BoardSide.right) + Kicker(side: BoardSide.right, bloc: KickerCubit()) ..initialPosition = Vector2(center.x + 8.8, center.y), ], );