diff --git a/packages/pinball_components/sandbox/lib/stories/spaceship_rail/spaceship_rail_game.dart b/packages/pinball_components/sandbox/lib/stories/spaceship_rail/spaceship_rail_game.dart new file mode 100644 index 00000000..8b84b714 --- /dev/null +++ b/packages/pinball_components/sandbox/lib/stories/spaceship_rail/spaceship_rail_game.dart @@ -0,0 +1,35 @@ +import 'dart:async'; + +import 'package:flame/input.dart'; +import 'package:flutter/material.dart'; +import 'package:pinball_components/pinball_components.dart'; +import 'package:sandbox/common/common.dart'; +import 'package:sandbox/stories/ball/basic_ball_game.dart'; + +class SpaceshipRailGame extends BasicBallGame with Traceable { + SpaceshipRailGame() + : super( + color: Colors.blue, + ballPriority: SpaceshipRail.ballPriorityInsideRail, + ballLayer: Layer.spaceshipExitRail, + ); + + static const info = ''' + Shows how SpaceshipRail are rendered. + + - Activate the "trace" parameter to overlay the body. + - Tap anywhere on the screen to spawn a ball into the game. +'''; + + @override + Future onLoad() async { + await super.onLoad(); + + camera.followVector2(Vector2(-30, -10)); + + final spaceshipRail = SpaceshipRail(); + unawaited(addFromBlueprint(spaceshipRail)); + + await traceAllBodies(); + } +} diff --git a/packages/pinball_components/sandbox/lib/stories/spaceship_rail/stories.dart b/packages/pinball_components/sandbox/lib/stories/spaceship_rail/stories.dart new file mode 100644 index 00000000..e69ed1db --- /dev/null +++ b/packages/pinball_components/sandbox/lib/stories/spaceship_rail/stories.dart @@ -0,0 +1,16 @@ +import 'package:dashbook/dashbook.dart'; +import 'package:flame/game.dart'; +import 'package:sandbox/common/common.dart'; +import 'package:sandbox/stories/spaceship_rail/spaceship_rail_game.dart'; + +void addSpaceshipRailStories(Dashbook dashbook) { + dashbook.storiesOf('SpaceshipRail').add( + 'Basic', + (context) => GameWidget( + game: SpaceshipRailGame() + ..trace = context.boolProperty('Trace', true), + ), + codeLink: buildSourceLink('spaceship_rail/basic.dart'), + info: SpaceshipRailGame.info, + ); +}