From a563d6a20dca862a4e43d097d7ef78260eba1da4 Mon Sep 17 00:00:00 2001 From: RuiAlonso Date: Sat, 30 Apr 2022 23:03:54 +0200 Subject: [PATCH] refactor: refactored sandbox for scoretexts --- .../pinball_components/sandbox/lib/main.dart | 2 +- .../backboard/backboard_game_over_game.dart | 40 +++++++++--- .../lib/stories/backboard/stories.dart | 7 ++- .../sandbox/lib/stories/score/score_game.dart | 63 +++++++++++++++++++ .../sandbox/lib/stories/score/stories.dart | 11 ++++ .../stories/score_text/score_text_game.dart | 34 ---------- .../lib/stories/score_text/stories.dart | 11 ---- .../sandbox/lib/stories/stories.dart | 2 +- 8 files changed, 115 insertions(+), 55 deletions(-) create mode 100644 packages/pinball_components/sandbox/lib/stories/score/score_game.dart create mode 100644 packages/pinball_components/sandbox/lib/stories/score/stories.dart delete mode 100644 packages/pinball_components/sandbox/lib/stories/score_text/score_text_game.dart delete mode 100644 packages/pinball_components/sandbox/lib/stories/score_text/stories.dart diff --git a/packages/pinball_components/sandbox/lib/main.dart b/packages/pinball_components/sandbox/lib/main.dart index 1f0077fb..c3204987 100644 --- a/packages/pinball_components/sandbox/lib/main.dart +++ b/packages/pinball_components/sandbox/lib/main.dart @@ -24,7 +24,7 @@ void main() { addBoundariesStories(dashbook); addGoogleWordStories(dashbook); addLaunchRampStories(dashbook); - addScoreTextStories(dashbook); + addScoreStories(dashbook); addBackboardStories(dashbook); addDinoWallStories(dashbook); addMultipliersStories(dashbook); diff --git a/packages/pinball_components/sandbox/lib/stories/backboard/backboard_game_over_game.dart b/packages/pinball_components/sandbox/lib/stories/backboard/backboard_game_over_game.dart index 43e4cb11..426ea2f4 100644 --- a/packages/pinball_components/sandbox/lib/stories/backboard/backboard_game_over_game.dart +++ b/packages/pinball_components/sandbox/lib/stories/backboard/backboard_game_over_game.dart @@ -1,6 +1,6 @@ import 'package:flame/input.dart'; import 'package:flutter/material.dart'; -import 'package:pinball_components/pinball_components.dart' hide Assets; +import 'package:pinball_components/pinball_components.dart' as components; import 'package:pinball_theme/pinball_theme.dart'; import 'package:sandbox/common/common.dart'; @@ -8,7 +8,32 @@ class BackboardGameOverGame extends AssetsGame with HasKeyboardHandlerComponents { BackboardGameOverGame(this.score, this.character) : super( - imagesFileNames: characterIconPaths.values.toList(), + imagesFileNames: [ + components.Assets.images.score.points5k.keyName, + components.Assets.images.score.points10k.keyName, + components.Assets.images.score.points15k.keyName, + components.Assets.images.score.points20k.keyName, + components.Assets.images.score.points25k.keyName, + components.Assets.images.score.points30k.keyName, + components.Assets.images.score.points40k.keyName, + components.Assets.images.score.points50k.keyName, + components.Assets.images.score.points60k.keyName, + components.Assets.images.score.points80k.keyName, + components.Assets.images.score.points100k.keyName, + components.Assets.images.score.points120k.keyName, + components.Assets.images.score.points200k.keyName, + components.Assets.images.score.points400k.keyName, + components.Assets.images.score.points600k.keyName, + components.Assets.images.score.points800k.keyName, + components.Assets.images.score.points1m.keyName, + components.Assets.images.score.points1m2.keyName, + components.Assets.images.score.points2m.keyName, + components.Assets.images.score.points3m.keyName, + components.Assets.images.score.points4m.keyName, + components.Assets.images.score.points5m.keyName, + components.Assets.images.score.points6m.keyName, + ...characterIconPaths.values.toList(), + ], ); static const description = ''' @@ -30,22 +55,23 @@ class BackboardGameOverGame extends AssetsGame @override Future onLoad() async { + await super.onLoad(); + camera ..followVector2(Vector2.zero()) ..zoom = 5; await add( - Backboard.gameOver( + components.Backboard.gameOver( position: Vector2(0, 20), score: score, characterIconPath: characterIconPaths[character]!, onSubmit: (initials) { add( - ScoreText( - score: Score.points_6m, - //text: 'User $initials made $score', + components.ScoreComponent( + score: components.Score.values + .firstWhere((element) => element.value == score), position: Vector2(0, 50), - //color: Colors.pink, ), ); }, diff --git a/packages/pinball_components/sandbox/lib/stories/backboard/stories.dart b/packages/pinball_components/sandbox/lib/stories/backboard/stories.dart index b8c85d10..cc5576ee 100644 --- a/packages/pinball_components/sandbox/lib/stories/backboard/stories.dart +++ b/packages/pinball_components/sandbox/lib/stories/backboard/stories.dart @@ -1,4 +1,5 @@ import 'package:dashbook/dashbook.dart'; +import 'package:pinball_components/pinball_components.dart'; import 'package:sandbox/common/common.dart'; import 'package:sandbox/stories/backboard/backboard_game_over_game.dart'; import 'package:sandbox/stories/backboard/backboard_waiting_game.dart'; @@ -14,7 +15,11 @@ void addBackboardStories(Dashbook dashbook) { title: 'Game over', description: BackboardGameOverGame.description, gameBuilder: (context) => BackboardGameOverGame( - context.numberProperty('Score', 9000000000).toInt(), + context.listProperty( + 'Score', + Score.values.first.value, + Score.values.map((score) => score.value).toList(), + ), context.listProperty( 'Character', BackboardGameOverGame.characterIconPaths.keys.first, diff --git a/packages/pinball_components/sandbox/lib/stories/score/score_game.dart b/packages/pinball_components/sandbox/lib/stories/score/score_game.dart new file mode 100644 index 00000000..bcc6cdd8 --- /dev/null +++ b/packages/pinball_components/sandbox/lib/stories/score/score_game.dart @@ -0,0 +1,63 @@ +import 'dart:math'; + +import 'package:flame/input.dart'; +import 'package:pinball_components/pinball_components.dart'; +import 'package:sandbox/common/common.dart'; + +class ScoreGame extends AssetsGame with TapDetector { + ScoreGame() + : super( + imagesFileNames: [ + Assets.images.score.points1m.keyName, + Assets.images.score.points1m2.keyName, + Assets.images.score.points2m.keyName, + Assets.images.score.points3m.keyName, + Assets.images.score.points4m.keyName, + Assets.images.score.points5k.keyName, + Assets.images.score.points5m.keyName, + Assets.images.score.points6m.keyName, + Assets.images.score.points10k.keyName, + Assets.images.score.points15k.keyName, + Assets.images.score.points20k.keyName, + Assets.images.score.points25k.keyName, + Assets.images.score.points30k.keyName, + Assets.images.score.points40k.keyName, + Assets.images.score.points50k.keyName, + Assets.images.score.points60k.keyName, + Assets.images.score.points80k.keyName, + Assets.images.score.points100k.keyName, + Assets.images.score.points120k.keyName, + Assets.images.score.points200k.keyName, + Assets.images.score.points400k.keyName, + Assets.images.score.points600k.keyName, + Assets.images.score.points800k.keyName, + ], + ); + + static const description = ''' + Simple game to show how score component works, + + - Tap anywhere on the screen to spawn an image on the given location. +'''; + + final random = Random(); + + @override + Future onLoad() async { + await super.onLoad(); + camera.followVector2(Vector2.zero()); + } + + @override + void onTapUp(TapUpInfo info) { + final index = random.nextInt(Score.values.length); + final score = Score.values[index]; + + add( + ScoreComponent( + score: score, + position: info.eventPosition.game..multiply(Vector2(1, -1)), + ), + ); + } +} diff --git a/packages/pinball_components/sandbox/lib/stories/score/stories.dart b/packages/pinball_components/sandbox/lib/stories/score/stories.dart new file mode 100644 index 00000000..9c1d3c62 --- /dev/null +++ b/packages/pinball_components/sandbox/lib/stories/score/stories.dart @@ -0,0 +1,11 @@ +import 'package:dashbook/dashbook.dart'; +import 'package:sandbox/common/common.dart'; +import 'package:sandbox/stories/score/score_game.dart'; + +void addScoreStories(Dashbook dashbook) { + dashbook.storiesOf('Score').addGame( + title: 'Basic', + description: ScoreGame.description, + gameBuilder: (_) => ScoreGame(), + ); +} diff --git a/packages/pinball_components/sandbox/lib/stories/score_text/score_text_game.dart b/packages/pinball_components/sandbox/lib/stories/score_text/score_text_game.dart deleted file mode 100644 index db007c20..00000000 --- a/packages/pinball_components/sandbox/lib/stories/score_text/score_text_game.dart +++ /dev/null @@ -1,34 +0,0 @@ -import 'dart:math'; - -import 'package:flame/input.dart'; -import 'package:flutter/material.dart'; -import 'package:pinball_components/pinball_components.dart'; -import 'package:sandbox/common/common.dart'; - -class ScoreTextGame extends AssetsGame with TapDetector { - static const description = ''' - Simple game to show how score text works, - - - Tap anywhere on the screen to spawn an text on the given location. -'''; - - final random = Random(); - - @override - Future onLoad() async { - camera.followVector2(Vector2.zero()); - } - - @override - void onTapUp(TapUpInfo info) { - final index = random.nextInt(Score.values.length); - final score = Score.values[index]; - - add( - ScoreText( - score: score, - position: info.eventPosition.game..multiply(Vector2(1, -1)), - ), - ); - } -} diff --git a/packages/pinball_components/sandbox/lib/stories/score_text/stories.dart b/packages/pinball_components/sandbox/lib/stories/score_text/stories.dart deleted file mode 100644 index c4899a27..00000000 --- a/packages/pinball_components/sandbox/lib/stories/score_text/stories.dart +++ /dev/null @@ -1,11 +0,0 @@ -import 'package:dashbook/dashbook.dart'; -import 'package:sandbox/common/common.dart'; -import 'package:sandbox/stories/score_text/score_text_game.dart'; - -void addScoreTextStories(Dashbook dashbook) { - dashbook.storiesOf('ScoreText').addGame( - title: 'Basic', - description: ScoreTextGame.description, - gameBuilder: (_) => ScoreTextGame(), - ); -} diff --git a/packages/pinball_components/sandbox/lib/stories/stories.dart b/packages/pinball_components/sandbox/lib/stories/stories.dart index d5e410b4..a9aa9528 100644 --- a/packages/pinball_components/sandbox/lib/stories/stories.dart +++ b/packages/pinball_components/sandbox/lib/stories/stories.dart @@ -12,6 +12,6 @@ export 'launch_ramp/stories.dart'; export 'layer/stories.dart'; export 'multipliers/stories.dart'; export 'plunger/stories.dart'; -export 'score_text/stories.dart'; +export 'score/stories.dart'; export 'slingshot/stories.dart'; export 'sparky_bumper/stories.dart';