From 124af6b603a01a72788fe12bad0a2ec7c1b23d6d Mon Sep 17 00:00:00 2001 From: Alejandro Santiago Date: Mon, 4 Apr 2022 15:35:54 +0100 Subject: [PATCH 1/4] feat(sandbox): implemented BigDashNestBumper example (#137) --- .../sandbox/lib/common/common.dart | 1 + .../sandbox/lib/common/trace.dart | 19 ++++++++++++ .../pinball_components/sandbox/lib/main.dart | 1 + .../lib/stories/dash_nest_bumper/big.dart | 31 +++++++++++++++++++ .../dash_nest_bumper/dash_nest_bumper.dart | 18 +++++++++++ .../sandbox/lib/stories/flipper/tracing.dart | 24 +++++--------- .../sandbox/lib/stories/stories.dart | 1 + 7 files changed, 78 insertions(+), 17 deletions(-) create mode 100644 packages/pinball_components/sandbox/lib/common/trace.dart create mode 100644 packages/pinball_components/sandbox/lib/stories/dash_nest_bumper/big.dart create mode 100644 packages/pinball_components/sandbox/lib/stories/dash_nest_bumper/dash_nest_bumper.dart diff --git a/packages/pinball_components/sandbox/lib/common/common.dart b/packages/pinball_components/sandbox/lib/common/common.dart index 578c9b38..bb232e24 100644 --- a/packages/pinball_components/sandbox/lib/common/common.dart +++ b/packages/pinball_components/sandbox/lib/common/common.dart @@ -1,2 +1,3 @@ export 'games.dart'; export 'methods.dart'; +export 'trace.dart'; diff --git a/packages/pinball_components/sandbox/lib/common/trace.dart b/packages/pinball_components/sandbox/lib/common/trace.dart new file mode 100644 index 00000000..d64a5c6c --- /dev/null +++ b/packages/pinball_components/sandbox/lib/common/trace.dart @@ -0,0 +1,19 @@ +import 'dart:async'; + +import 'package:flame/components.dart'; +import 'package:flame_forge2d/flame_forge2d.dart'; +import 'package:flutter/material.dart'; + +extension BodyTrace on BodyComponent { + void trace({Color color = const Color(0xFFFF0000)}) { + paint = Paint()..color = color; + renderBody = true; + + unawaited( + mounted.whenComplete(() { + final sprite = children.whereType().first; + sprite.paint.color = sprite.paint.color.withOpacity(0.5); + }), + ); + } +} diff --git a/packages/pinball_components/sandbox/lib/main.dart b/packages/pinball_components/sandbox/lib/main.dart index 62ff7022..c9e0c978 100644 --- a/packages/pinball_components/sandbox/lib/main.dart +++ b/packages/pinball_components/sandbox/lib/main.dart @@ -18,5 +18,6 @@ void main() { addFlipperStories(dashbook); addSpaceshipStories(dashbook); addBaseboardStories(dashbook); + addDashNestBumperStories(dashbook); runApp(dashbook); } diff --git a/packages/pinball_components/sandbox/lib/stories/dash_nest_bumper/big.dart b/packages/pinball_components/sandbox/lib/stories/dash_nest_bumper/big.dart new file mode 100644 index 00000000..cfab1013 --- /dev/null +++ b/packages/pinball_components/sandbox/lib/stories/dash_nest_bumper/big.dart @@ -0,0 +1,31 @@ +import 'dart:async'; +import 'dart:ui'; + +import 'package:pinball_components/pinball_components.dart'; +import 'package:sandbox/common/common.dart'; +import 'package:sandbox/stories/ball/basic.dart'; + +class BigDashNestBumperGame extends BasicBallGame { + BigDashNestBumperGame({ + required this.trace, + }) : super(color: const Color(0xFF0000FF)); + + static const info = ''' + Shows how a BigDashNestBumper is rendered. + + Activate the trace to see the body shape. +'''; + + final bool trace; + + @override + Future onLoad() async { + await super.onLoad(); + + final center = screenToWorld(camera.viewport.canvasSize! / 2); + final bigDashNestBumper = BigDashNestBumper()..initialPosition = center; + await add(bigDashNestBumper); + + if (trace) bigDashNestBumper.trace(); + } +} diff --git a/packages/pinball_components/sandbox/lib/stories/dash_nest_bumper/dash_nest_bumper.dart b/packages/pinball_components/sandbox/lib/stories/dash_nest_bumper/dash_nest_bumper.dart new file mode 100644 index 00000000..f53bec40 --- /dev/null +++ b/packages/pinball_components/sandbox/lib/stories/dash_nest_bumper/dash_nest_bumper.dart @@ -0,0 +1,18 @@ +import 'package:dashbook/dashbook.dart'; +import 'package:flame/game.dart'; +import 'package:sandbox/common/common.dart'; +import 'package:sandbox/stories/ball/basic.dart'; +import 'package:sandbox/stories/dash_nest_bumper/big.dart'; + +void addDashNestBumperStories(Dashbook dashbook) { + dashbook.storiesOf('Dash Nest Bumpers').add( + 'Big', + (context) => GameWidget( + game: BigDashNestBumperGame( + trace: context.boolProperty('Trace', true), + ), + ), + codeLink: buildSourceLink('dash_nest_bumper/big.dart'), + info: BasicBallGame.info, + ); +} diff --git a/packages/pinball_components/sandbox/lib/stories/flipper/tracing.dart b/packages/pinball_components/sandbox/lib/stories/flipper/tracing.dart index 9b5802f8..10f11c82 100644 --- a/packages/pinball_components/sandbox/lib/stories/flipper/tracing.dart +++ b/packages/pinball_components/sandbox/lib/stories/flipper/tracing.dart @@ -1,8 +1,7 @@ import 'dart:async'; -import 'package:flame/components.dart'; import 'package:flame_forge2d/flame_forge2d.dart'; -import 'package:flutter/material.dart'; +import 'package:sandbox/common/common.dart'; import 'package:sandbox/stories/flipper/basic.dart'; class FlipperTracingGame extends BasicFlipperGame { @@ -13,24 +12,15 @@ class FlipperTracingGame extends BasicFlipperGame { @override Future onLoad() async { await super.onLoad(); - leftFlipper.trace(); - rightFlipper.trace(); - } -} -extension on BodyComponent { - void trace({Color color = Colors.red}) { - paint = Paint()..color = color; - renderBody = true; - body.joints.whereType().forEach( + leftFlipper.trace(); + leftFlipper.body.joints.whereType().forEach( (joint) => joint.setLimits(0, 0), ); - unawaited( - mounted.whenComplete(() { - final sprite = children.whereType().first; - sprite.paint.color = sprite.paint.color.withOpacity(0.5); - }), - ); + rightFlipper.trace(); + rightFlipper.body.joints.whereType().forEach( + (joint) => joint.setLimits(0, 0), + ); } } diff --git a/packages/pinball_components/sandbox/lib/stories/stories.dart b/packages/pinball_components/sandbox/lib/stories/stories.dart index 90b93723..496f87e8 100644 --- a/packages/pinball_components/sandbox/lib/stories/stories.dart +++ b/packages/pinball_components/sandbox/lib/stories/stories.dart @@ -1,5 +1,6 @@ export 'ball/ball.dart'; export 'baseboard/baseboard.dart'; +export 'dash_nest_bumper/dash_nest_bumper.dart'; export 'effects/effects.dart'; export 'flipper/flipper.dart'; export 'layer/layer.dart'; From 7cce862263ec023807a30ef5ce78c18b664a5e5e Mon Sep 17 00:00:00 2001 From: Alejandro Santiago Date: Mon, 4 Apr 2022 15:40:42 +0100 Subject: [PATCH 2/4] feat(sandbox): included ChromeDino sandbox (#139) --- .../pinball_components/sandbox/lib/main.dart | 1 + .../stories/chrome_dino/chrome_dino_game.dart | 16 ++++++++++++++++ .../sandbox/lib/stories/chrome_dino/stories.dart | 15 +++++++++++++++ .../sandbox/lib/stories/stories.dart | 1 + 4 files changed, 33 insertions(+) create mode 100644 packages/pinball_components/sandbox/lib/stories/chrome_dino/chrome_dino_game.dart create mode 100644 packages/pinball_components/sandbox/lib/stories/chrome_dino/stories.dart diff --git a/packages/pinball_components/sandbox/lib/main.dart b/packages/pinball_components/sandbox/lib/main.dart index c9e0c978..5ce90e9e 100644 --- a/packages/pinball_components/sandbox/lib/main.dart +++ b/packages/pinball_components/sandbox/lib/main.dart @@ -18,6 +18,7 @@ void main() { addFlipperStories(dashbook); addSpaceshipStories(dashbook); addBaseboardStories(dashbook); + addChromeDinoStories(dashbook); addDashNestBumperStories(dashbook); runApp(dashbook); } diff --git a/packages/pinball_components/sandbox/lib/stories/chrome_dino/chrome_dino_game.dart b/packages/pinball_components/sandbox/lib/stories/chrome_dino/chrome_dino_game.dart new file mode 100644 index 00000000..4969519a --- /dev/null +++ b/packages/pinball_components/sandbox/lib/stories/chrome_dino/chrome_dino_game.dart @@ -0,0 +1,16 @@ +import 'package:flame_forge2d/flame_forge2d.dart'; +import 'package:pinball_components/pinball_components.dart'; + +class ChromeDinoGame extends Forge2DGame { + static const info = ''' + Shows how a ChromeDino is rendered. +'''; + + @override + Future onLoad() async { + await super.onLoad(); + + camera.followVector2(Vector2.zero()); + await add(ChromeDino()); + } +} diff --git a/packages/pinball_components/sandbox/lib/stories/chrome_dino/stories.dart b/packages/pinball_components/sandbox/lib/stories/chrome_dino/stories.dart new file mode 100644 index 00000000..fb7c2ee1 --- /dev/null +++ b/packages/pinball_components/sandbox/lib/stories/chrome_dino/stories.dart @@ -0,0 +1,15 @@ +import 'package:dashbook/dashbook.dart'; +import 'package:flame/game.dart'; +import 'package:sandbox/common/common.dart'; +import 'package:sandbox/stories/chrome_dino/chrome_dino_game.dart'; + +void addChromeDinoStories(Dashbook dashbook) { + dashbook.storiesOf('Chrome Dino').add( + 'Basic', + (context) => GameWidget( + game: ChromeDinoGame(), + ), + codeLink: buildSourceLink('chrome_dino/basic.dart'), + info: ChromeDinoGame.info, + ); +} diff --git a/packages/pinball_components/sandbox/lib/stories/stories.dart b/packages/pinball_components/sandbox/lib/stories/stories.dart index 496f87e8..c04cc022 100644 --- a/packages/pinball_components/sandbox/lib/stories/stories.dart +++ b/packages/pinball_components/sandbox/lib/stories/stories.dart @@ -1,5 +1,6 @@ export 'ball/ball.dart'; export 'baseboard/baseboard.dart'; +export 'chrome_dino/stories.dart'; export 'dash_nest_bumper/dash_nest_bumper.dart'; export 'effects/effects.dart'; export 'flipper/flipper.dart'; From 510eb1744610842249317a25c40630f138a9aebd Mon Sep 17 00:00:00 2001 From: Allison Ryan <77211884+allisonryan0002@users.noreply.github.com> Date: Mon, 4 Apr 2022 11:04:19 -0500 Subject: [PATCH 3/4] refactor: adjust dash bumper body (#140) --- .../lib/src/components/dash_nest_bumper.dart | 7 ++++--- .../sandbox/lib/stories/dash_nest_bumper/big.dart | 4 +++- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/packages/pinball_components/lib/src/components/dash_nest_bumper.dart b/packages/pinball_components/lib/src/components/dash_nest_bumper.dart index a2b9b982..447b4156 100644 --- a/packages/pinball_components/lib/src/components/dash_nest_bumper.dart +++ b/packages/pinball_components/lib/src/components/dash_nest_bumper.dart @@ -67,6 +67,7 @@ class BigDashNestBumper extends DashNestBumper { inactiveAssetPath: Assets.images.dashBumper.main.inactive.keyName, spriteComponent: SpriteComponent( anchor: Anchor.center, + position: Vector2(0, -0.3), ), ); @@ -74,9 +75,9 @@ class BigDashNestBumper extends DashNestBumper { Body createBody() { final shape = EllipseShape( center: Vector2.zero(), - majorRadius: 4.85, - minorRadius: 3.95, - )..rotate(math.pi / 2); + majorRadius: 5.1, + minorRadius: 3.75, + )..rotate(math.pi / 2.1); final fixtureDef = FixtureDef(shape); final bodyDef = BodyDef() diff --git a/packages/pinball_components/sandbox/lib/stories/dash_nest_bumper/big.dart b/packages/pinball_components/sandbox/lib/stories/dash_nest_bumper/big.dart index cfab1013..5ae221e5 100644 --- a/packages/pinball_components/sandbox/lib/stories/dash_nest_bumper/big.dart +++ b/packages/pinball_components/sandbox/lib/stories/dash_nest_bumper/big.dart @@ -23,7 +23,9 @@ class BigDashNestBumperGame extends BasicBallGame { await super.onLoad(); final center = screenToWorld(camera.viewport.canvasSize! / 2); - final bigDashNestBumper = BigDashNestBumper()..initialPosition = center; + final bigDashNestBumper = BigDashNestBumper() + ..initialPosition = center + ..priority = 1; await add(bigDashNestBumper); if (trace) bigDashNestBumper.trace(); From fcca84be9075799ca4a20abbb9774b3ff1c31a7d Mon Sep 17 00:00:00 2001 From: Alejandro Santiago Date: Mon, 4 Apr 2022 18:31:44 +0100 Subject: [PATCH 4/4] refactor: renaming sandbox files (#141) * refactor(sandbox): renamed files to stories * refactor(sandbox): rephrased descriptions * refactor: renamed files * refactor: renaming * chore: merge --- packages/pinball_components/sandbox/lib/main.dart | 1 - .../{ball_booster.dart => ball_booster_game.dart} | 8 ++++++-- .../ball/{basic.dart => basic_ball_game.dart} | 4 ++-- .../lib/stories/ball/{ball.dart => stories.dart} | 8 ++++---- .../{basic.dart => basic_baseboard_game.dart} | 4 +--- .../baseboard/{baseboard.dart => stories.dart} | 2 +- .../lib/stories/chrome_dino/chrome_dino_game.dart | 4 +--- .../{big.dart => big_dash_nest_bumper_game.dart} | 6 +++--- .../{dash_nest_bumper.dart => stories.dart} | 4 ++-- .../{fire_effect.dart => fire_effect_game.dart} | 9 ++++++--- .../stories/effects/{effects.dart => stories.dart} | 6 +++--- .../flipper/{basic.dart => basic_flipper_game.dart} | 6 ++---- .../{tracing.dart => flipper_tracing_game.dart} | 4 ++-- .../stories/flipper/{flipper.dart => stories.dart} | 4 ++-- .../layer/{basic.dart => basic_layer_game.dart} | 4 ++-- .../lib/stories/layer/{layer.dart => stories.dart} | 2 +- .../{basic.dart => basic_spaceship_game.dart} | 9 ++++++--- .../spaceship/{spaceship.dart => stories.dart} | 8 +++++--- .../sandbox/lib/stories/stories.dart | 13 +++++++------ 19 files changed, 56 insertions(+), 50 deletions(-) rename packages/pinball_components/sandbox/lib/stories/ball/{ball_booster.dart => ball_booster_game.dart} (71%) rename packages/pinball_components/sandbox/lib/stories/ball/{basic.dart => basic_ball_game.dart} (82%) rename packages/pinball_components/sandbox/lib/stories/ball/{ball.dart => stories.dart} (76%) rename packages/pinball_components/sandbox/lib/stories/baseboard/{basic.dart => basic_baseboard_game.dart} (89%) rename packages/pinball_components/sandbox/lib/stories/baseboard/{baseboard.dart => stories.dart} (85%) rename packages/pinball_components/sandbox/lib/stories/dash_nest_bumper/{big.dart => big_dash_nest_bumper_game.dart} (80%) rename packages/pinball_components/sandbox/lib/stories/dash_nest_bumper/{dash_nest_bumper.dart => stories.dart} (77%) rename packages/pinball_components/sandbox/lib/stories/effects/{fire_effect.dart => fire_effect_game.dart} (83%) rename packages/pinball_components/sandbox/lib/stories/effects/{effects.dart => stories.dart} (65%) rename packages/pinball_components/sandbox/lib/stories/flipper/{basic.dart => basic_flipper_game.dart} (93%) rename packages/pinball_components/sandbox/lib/stories/flipper/{tracing.dart => flipper_tracing_game.dart} (81%) rename packages/pinball_components/sandbox/lib/stories/flipper/{flipper.dart => stories.dart} (81%) rename packages/pinball_components/sandbox/lib/stories/layer/{basic.dart => basic_layer_game.dart} (94%) rename packages/pinball_components/sandbox/lib/stories/layer/{layer.dart => stories.dart} (89%) rename packages/pinball_components/sandbox/lib/stories/spaceship/{basic.dart => basic_spaceship_game.dart} (75%) rename packages/pinball_components/sandbox/lib/stories/spaceship/{spaceship.dart => stories.dart} (60%) diff --git a/packages/pinball_components/sandbox/lib/main.dart b/packages/pinball_components/sandbox/lib/main.dart index 5ce90e9e..59066fca 100644 --- a/packages/pinball_components/sandbox/lib/main.dart +++ b/packages/pinball_components/sandbox/lib/main.dart @@ -6,7 +6,6 @@ // https://opensource.org/licenses/MIT. import 'package:dashbook/dashbook.dart'; import 'package:flutter/material.dart'; -import 'package:sandbox/stories/spaceship/spaceship.dart'; import 'package:sandbox/stories/stories.dart'; void main() { diff --git a/packages/pinball_components/sandbox/lib/stories/ball/ball_booster.dart b/packages/pinball_components/sandbox/lib/stories/ball/ball_booster_game.dart similarity index 71% rename from packages/pinball_components/sandbox/lib/stories/ball/ball_booster.dart rename to packages/pinball_components/sandbox/lib/stories/ball/ball_booster_game.dart index 9f78953a..3b8fe149 100644 --- a/packages/pinball_components/sandbox/lib/stories/ball/ball_booster.dart +++ b/packages/pinball_components/sandbox/lib/stories/ball/ball_booster_game.dart @@ -3,8 +3,12 @@ import 'package:flutter/material.dart'; import 'package:pinball_components/pinball_components.dart'; import 'package:sandbox/common/common.dart'; -class BallBoosterExample extends LineGame { - static const info = ''; +class BallBoosterGame extends LineGame { + static const info = ''' + Shows how a Ball with a boost works. + + Drag to launch a boosted Ball. +'''; @override void onLine(Vector2 line) { diff --git a/packages/pinball_components/sandbox/lib/stories/ball/basic.dart b/packages/pinball_components/sandbox/lib/stories/ball/basic_ball_game.dart similarity index 82% rename from packages/pinball_components/sandbox/lib/stories/ball/basic.dart rename to packages/pinball_components/sandbox/lib/stories/ball/basic_ball_game.dart index 73890519..46cfb154 100644 --- a/packages/pinball_components/sandbox/lib/stories/ball/basic.dart +++ b/packages/pinball_components/sandbox/lib/stories/ball/basic_ball_game.dart @@ -7,9 +7,9 @@ class BasicBallGame extends BasicGame with TapDetector { BasicBallGame({required this.color}); static const info = ''' - Basic example of how a Ball works. + Shows how a Ball works. - Tap anywhere on the screen to spawn a ball into the game. + Tap anywhere on the screen to spawn a ball into the game. '''; final Color color; diff --git a/packages/pinball_components/sandbox/lib/stories/ball/ball.dart b/packages/pinball_components/sandbox/lib/stories/ball/stories.dart similarity index 76% rename from packages/pinball_components/sandbox/lib/stories/ball/ball.dart rename to packages/pinball_components/sandbox/lib/stories/ball/stories.dart index 35b29499..2e945c47 100644 --- a/packages/pinball_components/sandbox/lib/stories/ball/ball.dart +++ b/packages/pinball_components/sandbox/lib/stories/ball/stories.dart @@ -2,8 +2,8 @@ import 'package:dashbook/dashbook.dart'; import 'package:flame/game.dart'; import 'package:flutter/material.dart'; import 'package:sandbox/common/common.dart'; -import 'package:sandbox/stories/ball/ball_booster.dart'; -import 'package:sandbox/stories/ball/basic.dart'; +import 'package:sandbox/stories/ball/ball_booster_game.dart'; +import 'package:sandbox/stories/ball/basic_ball_game.dart'; void addBallStories(Dashbook dashbook) { dashbook.storiesOf('Ball') @@ -20,9 +20,9 @@ void addBallStories(Dashbook dashbook) { ..add( 'Booster', (context) => GameWidget( - game: BallBoosterExample(), + game: BallBoosterGame(), ), codeLink: buildSourceLink('ball/ball_booster.dart'), - info: BallBoosterExample.info, + info: BallBoosterGame.info, ); } diff --git a/packages/pinball_components/sandbox/lib/stories/baseboard/basic.dart b/packages/pinball_components/sandbox/lib/stories/baseboard/basic_baseboard_game.dart similarity index 89% rename from packages/pinball_components/sandbox/lib/stories/baseboard/basic.dart rename to packages/pinball_components/sandbox/lib/stories/baseboard/basic_baseboard_game.dart index 127c1dec..0650fa13 100644 --- a/packages/pinball_components/sandbox/lib/stories/baseboard/basic.dart +++ b/packages/pinball_components/sandbox/lib/stories/baseboard/basic_baseboard_game.dart @@ -3,9 +3,7 @@ import 'package:pinball_components/pinball_components.dart'; import 'package:sandbox/common/common.dart'; class BasicBaseboardGame extends BasicGame { - static const info = ''' - Basic example of how a Baseboard works. -'''; + static const info = 'Shows how a Baseboard works.'; @override Future onLoad() async { diff --git a/packages/pinball_components/sandbox/lib/stories/baseboard/baseboard.dart b/packages/pinball_components/sandbox/lib/stories/baseboard/stories.dart similarity index 85% rename from packages/pinball_components/sandbox/lib/stories/baseboard/baseboard.dart rename to packages/pinball_components/sandbox/lib/stories/baseboard/stories.dart index 96d89928..b3982af4 100644 --- a/packages/pinball_components/sandbox/lib/stories/baseboard/baseboard.dart +++ b/packages/pinball_components/sandbox/lib/stories/baseboard/stories.dart @@ -1,7 +1,7 @@ import 'package:dashbook/dashbook.dart'; import 'package:flame/game.dart'; import 'package:sandbox/common/common.dart'; -import 'package:sandbox/stories/baseboard/basic.dart'; +import 'package:sandbox/stories/baseboard/basic_baseboard_game.dart'; void addBaseboardStories(Dashbook dashbook) { dashbook.storiesOf('Baseboard').add( diff --git a/packages/pinball_components/sandbox/lib/stories/chrome_dino/chrome_dino_game.dart b/packages/pinball_components/sandbox/lib/stories/chrome_dino/chrome_dino_game.dart index 4969519a..94bf6e44 100644 --- a/packages/pinball_components/sandbox/lib/stories/chrome_dino/chrome_dino_game.dart +++ b/packages/pinball_components/sandbox/lib/stories/chrome_dino/chrome_dino_game.dart @@ -2,9 +2,7 @@ import 'package:flame_forge2d/flame_forge2d.dart'; import 'package:pinball_components/pinball_components.dart'; class ChromeDinoGame extends Forge2DGame { - static const info = ''' - Shows how a ChromeDino is rendered. -'''; + static const info = 'Shows how a ChromeDino is rendered.'; @override Future onLoad() async { diff --git a/packages/pinball_components/sandbox/lib/stories/dash_nest_bumper/big.dart b/packages/pinball_components/sandbox/lib/stories/dash_nest_bumper/big_dash_nest_bumper_game.dart similarity index 80% rename from packages/pinball_components/sandbox/lib/stories/dash_nest_bumper/big.dart rename to packages/pinball_components/sandbox/lib/stories/dash_nest_bumper/big_dash_nest_bumper_game.dart index 5ae221e5..9638c36d 100644 --- a/packages/pinball_components/sandbox/lib/stories/dash_nest_bumper/big.dart +++ b/packages/pinball_components/sandbox/lib/stories/dash_nest_bumper/big_dash_nest_bumper_game.dart @@ -3,7 +3,7 @@ import 'dart:ui'; import 'package:pinball_components/pinball_components.dart'; import 'package:sandbox/common/common.dart'; -import 'package:sandbox/stories/ball/basic.dart'; +import 'package:sandbox/stories/ball/basic_ball_game.dart'; class BigDashNestBumperGame extends BasicBallGame { BigDashNestBumperGame({ @@ -11,9 +11,9 @@ class BigDashNestBumperGame extends BasicBallGame { }) : super(color: const Color(0xFF0000FF)); static const info = ''' - Shows how a BigDashNestBumper is rendered. + Shows how a BigDashNestBumper is rendered. - Activate the trace to see the body shape. + Activate the "trace" parameter to overlay the body. '''; final bool trace; diff --git a/packages/pinball_components/sandbox/lib/stories/dash_nest_bumper/dash_nest_bumper.dart b/packages/pinball_components/sandbox/lib/stories/dash_nest_bumper/stories.dart similarity index 77% rename from packages/pinball_components/sandbox/lib/stories/dash_nest_bumper/dash_nest_bumper.dart rename to packages/pinball_components/sandbox/lib/stories/dash_nest_bumper/stories.dart index f53bec40..95f3cd2a 100644 --- a/packages/pinball_components/sandbox/lib/stories/dash_nest_bumper/dash_nest_bumper.dart +++ b/packages/pinball_components/sandbox/lib/stories/dash_nest_bumper/stories.dart @@ -1,8 +1,8 @@ import 'package:dashbook/dashbook.dart'; import 'package:flame/game.dart'; import 'package:sandbox/common/common.dart'; -import 'package:sandbox/stories/ball/basic.dart'; -import 'package:sandbox/stories/dash_nest_bumper/big.dart'; +import 'package:sandbox/stories/ball/basic_ball_game.dart'; +import 'package:sandbox/stories/dash_nest_bumper/big_dash_nest_bumper_game.dart'; void addDashNestBumperStories(Dashbook dashbook) { dashbook.storiesOf('Dash Nest Bumpers').add( diff --git a/packages/pinball_components/sandbox/lib/stories/effects/fire_effect.dart b/packages/pinball_components/sandbox/lib/stories/effects/fire_effect_game.dart similarity index 83% rename from packages/pinball_components/sandbox/lib/stories/effects/fire_effect.dart rename to packages/pinball_components/sandbox/lib/stories/effects/fire_effect_game.dart index 1262af11..ecc22910 100644 --- a/packages/pinball_components/sandbox/lib/stories/effects/fire_effect.dart +++ b/packages/pinball_components/sandbox/lib/stories/effects/fire_effect_game.dart @@ -2,9 +2,12 @@ import 'package:flame/components.dart'; import 'package:pinball_components/pinball_components.dart'; import 'package:sandbox/common/common.dart'; -class FireEffectExample extends LineGame { - static const info = 'Demonstrate the fire trail effect ' - 'drag a line to define the trail direction'; +class FireEffectGame extends LineGame { + static const info = ''' + Shows how the FireEffect renders. + + Drag a line to define the trail direction. +'''; @override void onLine(Vector2 line) { diff --git a/packages/pinball_components/sandbox/lib/stories/effects/effects.dart b/packages/pinball_components/sandbox/lib/stories/effects/stories.dart similarity index 65% rename from packages/pinball_components/sandbox/lib/stories/effects/effects.dart rename to packages/pinball_components/sandbox/lib/stories/effects/stories.dart index 3a89c73b..37ba434e 100644 --- a/packages/pinball_components/sandbox/lib/stories/effects/effects.dart +++ b/packages/pinball_components/sandbox/lib/stories/effects/stories.dart @@ -1,13 +1,13 @@ import 'package:dashbook/dashbook.dart'; import 'package:flame/game.dart'; import 'package:sandbox/common/common.dart'; -import 'package:sandbox/stories/effects/fire_effect.dart'; +import 'package:sandbox/stories/effects/fire_effect_game.dart'; void addEffectsStories(Dashbook dashbook) { dashbook.storiesOf('Effects').add( 'Fire Effect', - (context) => GameWidget(game: FireEffectExample()), + (context) => GameWidget(game: FireEffectGame()), codeLink: buildSourceLink('effects/fire_effect.dart'), - info: FireEffectExample.info, + info: FireEffectGame.info, ); } diff --git a/packages/pinball_components/sandbox/lib/stories/flipper/basic.dart b/packages/pinball_components/sandbox/lib/stories/flipper/basic_flipper_game.dart similarity index 93% rename from packages/pinball_components/sandbox/lib/stories/flipper/basic.dart rename to packages/pinball_components/sandbox/lib/stories/flipper/basic_flipper_game.dart index d31515de..78959374 100644 --- a/packages/pinball_components/sandbox/lib/stories/flipper/basic.dart +++ b/packages/pinball_components/sandbox/lib/stories/flipper/basic_flipper_game.dart @@ -3,14 +3,12 @@ import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:pinball_components/pinball_components.dart'; -import 'package:sandbox/stories/ball/basic.dart'; +import 'package:sandbox/stories/ball/basic_ball_game.dart'; class BasicFlipperGame extends BasicBallGame with KeyboardEvents { BasicFlipperGame() : super(color: Colors.blue); - static const info = ''' - Basic example of how a Flipper works. -'''; + static const info = 'Shows how a Flipper works.'; static const _leftFlipperKeys = [ LogicalKeyboardKey.arrowLeft, diff --git a/packages/pinball_components/sandbox/lib/stories/flipper/tracing.dart b/packages/pinball_components/sandbox/lib/stories/flipper/flipper_tracing_game.dart similarity index 81% rename from packages/pinball_components/sandbox/lib/stories/flipper/tracing.dart rename to packages/pinball_components/sandbox/lib/stories/flipper/flipper_tracing_game.dart index 10f11c82..482440cb 100644 --- a/packages/pinball_components/sandbox/lib/stories/flipper/tracing.dart +++ b/packages/pinball_components/sandbox/lib/stories/flipper/flipper_tracing_game.dart @@ -2,11 +2,11 @@ import 'dart:async'; import 'package:flame_forge2d/flame_forge2d.dart'; import 'package:sandbox/common/common.dart'; -import 'package:sandbox/stories/flipper/basic.dart'; +import 'package:sandbox/stories/flipper/basic_flipper_game.dart'; class FlipperTracingGame extends BasicFlipperGame { static const info = ''' - Basic example of how the Flipper body overlays the sprite. + Basic example of how the Flipper body overlays the sprite. '''; @override diff --git a/packages/pinball_components/sandbox/lib/stories/flipper/flipper.dart b/packages/pinball_components/sandbox/lib/stories/flipper/stories.dart similarity index 81% rename from packages/pinball_components/sandbox/lib/stories/flipper/flipper.dart rename to packages/pinball_components/sandbox/lib/stories/flipper/stories.dart index 7c8465da..3cad3ade 100644 --- a/packages/pinball_components/sandbox/lib/stories/flipper/flipper.dart +++ b/packages/pinball_components/sandbox/lib/stories/flipper/stories.dart @@ -1,8 +1,8 @@ import 'package:dashbook/dashbook.dart'; import 'package:flame/game.dart'; import 'package:sandbox/common/common.dart'; -import 'package:sandbox/stories/flipper/basic.dart'; -import 'package:sandbox/stories/flipper/tracing.dart'; +import 'package:sandbox/stories/flipper/basic_flipper_game.dart'; +import 'package:sandbox/stories/flipper/flipper_tracing_game.dart'; void addFlipperStories(Dashbook dashbook) { dashbook.storiesOf('Flipper') diff --git a/packages/pinball_components/sandbox/lib/stories/layer/basic.dart b/packages/pinball_components/sandbox/lib/stories/layer/basic_layer_game.dart similarity index 94% rename from packages/pinball_components/sandbox/lib/stories/layer/basic.dart rename to packages/pinball_components/sandbox/lib/stories/layer/basic_layer_game.dart index f6993471..a6361094 100644 --- a/packages/pinball_components/sandbox/lib/stories/layer/basic.dart +++ b/packages/pinball_components/sandbox/lib/stories/layer/basic_layer_game.dart @@ -8,9 +8,9 @@ class BasicLayerGame extends BasicGame with TapDetector { BasicLayerGame({required this.color}); static const info = ''' - Basic example of how layers work when a Ball hits other components. + Shows how Layers work when a Ball hits other components. - Tap anywhere on the screen to spawn a ball into the game. + Tap anywhere on the screen to spawn a Ball into the game. '''; final Color color; diff --git a/packages/pinball_components/sandbox/lib/stories/layer/layer.dart b/packages/pinball_components/sandbox/lib/stories/layer/stories.dart similarity index 89% rename from packages/pinball_components/sandbox/lib/stories/layer/layer.dart rename to packages/pinball_components/sandbox/lib/stories/layer/stories.dart index 6d3538dd..12ac028b 100644 --- a/packages/pinball_components/sandbox/lib/stories/layer/layer.dart +++ b/packages/pinball_components/sandbox/lib/stories/layer/stories.dart @@ -2,7 +2,7 @@ import 'package:dashbook/dashbook.dart'; import 'package:flame/game.dart'; import 'package:flutter/material.dart'; import 'package:sandbox/common/common.dart'; -import 'package:sandbox/stories/layer/basic.dart'; +import 'package:sandbox/stories/layer/basic_layer_game.dart'; void addLayerStories(Dashbook dashbook) { dashbook.storiesOf('Layer').add( diff --git a/packages/pinball_components/sandbox/lib/stories/spaceship/basic.dart b/packages/pinball_components/sandbox/lib/stories/spaceship/basic_spaceship_game.dart similarity index 75% rename from packages/pinball_components/sandbox/lib/stories/spaceship/basic.dart rename to packages/pinball_components/sandbox/lib/stories/spaceship/basic_spaceship_game.dart index 0cfb4b5f..97124c3f 100644 --- a/packages/pinball_components/sandbox/lib/stories/spaceship/basic.dart +++ b/packages/pinball_components/sandbox/lib/stories/spaceship/basic_spaceship_game.dart @@ -5,9 +5,12 @@ import 'package:flutter/material.dart'; import 'package:pinball_components/pinball_components.dart'; import 'package:sandbox/common/common.dart'; -class BasicSpaceship extends BasicGame with TapDetector { - static String info = 'Renders a spaceship and allows balls to be ' - 'spawned upon click to test their interactions'; +class BasicSpaceshipGame extends BasicGame with TapDetector { + static const info = ''' + Shows how a Spaceship works. + + Tap anywhere on the screen to spawn a Ball into the game. +'''; @override Future onLoad() async { diff --git a/packages/pinball_components/sandbox/lib/stories/spaceship/spaceship.dart b/packages/pinball_components/sandbox/lib/stories/spaceship/stories.dart similarity index 60% rename from packages/pinball_components/sandbox/lib/stories/spaceship/spaceship.dart rename to packages/pinball_components/sandbox/lib/stories/spaceship/stories.dart index 635439ee..ac7720a0 100644 --- a/packages/pinball_components/sandbox/lib/stories/spaceship/spaceship.dart +++ b/packages/pinball_components/sandbox/lib/stories/spaceship/stories.dart @@ -1,13 +1,15 @@ import 'package:dashbook/dashbook.dart'; import 'package:flame/game.dart'; import 'package:sandbox/common/common.dart'; -import 'package:sandbox/stories/spaceship/basic.dart'; +import 'package:sandbox/stories/spaceship/basic_spaceship_game.dart'; void addSpaceshipStories(Dashbook dashbook) { dashbook.storiesOf('Spaceship').add( 'Basic', - (context) => GameWidget(game: BasicSpaceship()), + (context) => GameWidget( + game: BasicSpaceshipGame(), + ), codeLink: buildSourceLink('spaceship/basic.dart'), - info: BasicSpaceship.info, + info: BasicSpaceshipGame.info, ); } diff --git a/packages/pinball_components/sandbox/lib/stories/stories.dart b/packages/pinball_components/sandbox/lib/stories/stories.dart index c04cc022..108cca05 100644 --- a/packages/pinball_components/sandbox/lib/stories/stories.dart +++ b/packages/pinball_components/sandbox/lib/stories/stories.dart @@ -1,7 +1,8 @@ -export 'ball/ball.dart'; -export 'baseboard/baseboard.dart'; +export 'ball/stories.dart'; +export 'baseboard/stories.dart'; export 'chrome_dino/stories.dart'; -export 'dash_nest_bumper/dash_nest_bumper.dart'; -export 'effects/effects.dart'; -export 'flipper/flipper.dart'; -export 'layer/layer.dart'; +export 'dash_nest_bumper/stories.dart'; +export 'effects/stories.dart'; +export 'flipper/stories.dart'; +export 'layer/stories.dart'; +export 'spaceship/stories.dart';