refactor: refactored alien dashbook stories

pull/166/head
RuiAlonso 4 years ago
parent 803f5e26c8
commit ad7f1a05ed

@ -59,19 +59,16 @@ class AlienBumper extends BodyComponent with InitialPosition {
@override @override
Future<void> onLoad() async { Future<void> onLoad() async {
await super.onLoad(); await super.onLoad();
renderBody = false;
await _loadSprites(); await _loadSprites();
// TODO(erickzanardo): Look into using onNewState instead.
// Currently doing: onNewState(gameRef.read<GameState>()) will throw an
// `Exception: build context is not available yet`
deactivate(); deactivate();
await add(_spriteComponent); await add(_spriteComponent);
} }
@override @override
Body createBody() { Body createBody() {
renderBody = false;
final shape = EllipseShape( final shape = EllipseShape(
center: Vector2.zero(), center: Vector2.zero(),
majorRadius: _majorRadius, majorRadius: _majorRadius,

@ -23,7 +23,7 @@ void main() {
addKickerStories(dashbook); addKickerStories(dashbook);
addSlingshotStories(dashbook); addSlingshotStories(dashbook);
addSparkyBumperStories(dashbook); addSparkyBumperStories(dashbook);
addAlienBumperStories(dashbook); addAlienZoneStories(dashbook);
addZoomStories(dashbook); addZoomStories(dashbook);
addBoundariesStories(dashbook); addBoundariesStories(dashbook);
runApp(dashbook); runApp(dashbook);

@ -1,15 +0,0 @@
import 'package:dashbook/dashbook.dart';
import 'package:flame/game.dart';
import 'package:sandbox/common/common.dart';
import 'package:sandbox/stories/alien_bumper/alien_bumper_game.dart';
void addAlienBumperStories(Dashbook dashbook) {
dashbook.storiesOf('Alien Bumpers').add(
'Basic',
(context) => GameWidget(
game: AlienBumperGame()..trace = context.boolProperty('Trace', true),
),
codeLink: buildSourceLink('alien_bumper/basic.dart'),
info: AlienBumperGame.info,
);
}

@ -0,0 +1,28 @@
import 'dart:async';
import 'package:flame/extensions.dart';
import 'package:pinball_components/pinball_components.dart';
import 'package:sandbox/stories/ball/basic_ball_game.dart';
class AlienBumperAGame extends BasicBallGame {
AlienBumperAGame() : super(color: const Color(0xFF0000FF));
static const info = '''
Shows how a AlienBumperA is rendered.
- Activate the "trace" parameter to overlay the body.
''';
@override
Future<void> onLoad() async {
await super.onLoad();
final center = screenToWorld(camera.viewport.canvasSize! / 2);
final alienBumperA = AlienBumper.a()
..initialPosition = Vector2(center.x - 20, center.y - 20)
..priority = 1;
await add(alienBumperA);
await traceAllBodies();
}
}

@ -5,11 +5,11 @@ import 'package:pinball_components/pinball_components.dart';
import 'package:sandbox/common/common.dart'; import 'package:sandbox/common/common.dart';
import 'package:sandbox/stories/ball/basic_ball_game.dart'; import 'package:sandbox/stories/ball/basic_ball_game.dart';
class AlienBumperGame extends BasicBallGame with Traceable { class AlienBumperBGame extends BasicBallGame {
AlienBumperGame() : super(color: const Color(0xFF0000FF)); AlienBumperBGame() : super(color: const Color(0xFF0000FF));
static const info = ''' static const info = '''
Shows how a AlienBumper is rendered. Shows how a AlienBumperB is rendered.
- Activate the "trace" parameter to overlay the body. - Activate the "trace" parameter to overlay the body.
'''; ''';
@ -19,16 +19,10 @@ class AlienBumperGame extends BasicBallGame with Traceable {
await super.onLoad(); await super.onLoad();
final center = screenToWorld(camera.viewport.canvasSize! / 2); final center = screenToWorld(camera.viewport.canvasSize! / 2);
final alienBumperA = AlienBumper.a()
..initialPosition = Vector2(center.x - 20, center.y - 20)
..priority = 1;
final alienBumperB = AlienBumper.b() final alienBumperB = AlienBumper.b()
..initialPosition = Vector2(center.x - 10, center.y + 10) ..initialPosition = Vector2(center.x - 10, center.y + 10)
..priority = 1; ..priority = 1;
await addAll([ await add(alienBumperB);
alienBumperA,
alienBumperB,
]);
await traceAllBodies(); await traceAllBodies();
} }

@ -0,0 +1,25 @@
import 'package:dashbook/dashbook.dart';
import 'package:flame/game.dart';
import 'package:sandbox/common/common.dart';
import 'package:sandbox/stories/alien_zone/alien_bumper_a_game.dart';
import 'package:sandbox/stories/alien_zone/alien_bumper_b_game.dart';
void addAlienZoneStories(Dashbook dashbook) {
dashbook.storiesOf('Alien Zone')
..add(
'Alien Bumper A',
(context) => GameWidget(
game: AlienBumperAGame()..trace = context.boolProperty('Trace', true),
),
codeLink: buildSourceLink('alien_zone/alien_bumper_a.dart'),
info: AlienBumperAGame.info,
)
..add(
'Alien Bumper B',
(context) => GameWidget(
game: AlienBumperBGame()..trace = context.boolProperty('Trace', true),
),
codeLink: buildSourceLink('alien_zone/alien_bumper_b.dart'),
info: AlienBumperAGame.info,
);
}

@ -1,4 +1,4 @@
export 'alien_bumper/stories.dart'; export 'alien_zone/stories.dart';
export 'ball/stories.dart'; export 'ball/stories.dart';
export 'baseboard/stories.dart'; export 'baseboard/stories.dart';
export 'boundaries/stories.dart'; export 'boundaries/stories.dart';

Loading…
Cancel
Save