From c1d2b41987f0e0554df7c85e55fbc801139041cd Mon Sep 17 00:00:00 2001 From: Erick Zanardo Date: Mon, 11 Apr 2022 13:13:26 -0300 Subject: [PATCH] more pr suggestions --- lib/game/components/score_effect_controller.dart | 4 ++-- .../lib/gen/pinball_fonts.dart | 16 ++++++++++++++++ .../lib/pinball_components.dart | 1 + .../lib/src/components/components.dart | 2 +- .../{score_text_effect.dart => score_text.dart} | 12 ++++++------ .../pinball_components/sandbox/lib/main.dart | 2 +- .../{score_text_effect => score_text}/basic.dart | 8 ++++---- .../sandbox/lib/stories/score_text/stories.dart | 15 +++++++++++++++ .../lib/stories/score_text_effect/stories.dart | 15 --------------- .../sandbox/lib/stories/stories.dart | 2 +- .../src/components/score_text_effects_test.dart | 8 ++++---- .../components/score_effect_controller_test.dart | 10 +++++----- 12 files changed, 56 insertions(+), 39 deletions(-) create mode 100644 packages/pinball_components/lib/gen/pinball_fonts.dart rename packages/pinball_components/lib/src/components/{score_text_effect.dart => score_text.dart} (79%) rename packages/pinball_components/sandbox/lib/stories/{score_text_effect => score_text}/basic.dart (73%) create mode 100644 packages/pinball_components/sandbox/lib/stories/score_text/stories.dart delete mode 100644 packages/pinball_components/sandbox/lib/stories/score_text_effect/stories.dart diff --git a/lib/game/components/score_effect_controller.dart b/lib/game/components/score_effect_controller.dart index 0585f5d2..0b0fa12a 100644 --- a/lib/game/components/score_effect_controller.dart +++ b/lib/game/components/score_effect_controller.dart @@ -7,7 +7,7 @@ import 'package:pinball/game/game.dart'; import 'package:pinball_components/pinball_components.dart'; /// {@template score_effect_controller} -/// A [ComponentController] responsible for adding [ScoreTextEffect]s +/// A [ComponentController] responsible for adding [ScoreText]s /// on the game screen when the user earns points. /// {@endtemplate} class ScoreEffectController extends ComponentController @@ -32,7 +32,7 @@ class ScoreEffectController extends ComponentController final newScore = state.score - _lastScore; component.add( - ScoreTextEffect( + ScoreText( text: newScore.toString(), position: Vector2( _noise(), diff --git a/packages/pinball_components/lib/gen/pinball_fonts.dart b/packages/pinball_components/lib/gen/pinball_fonts.dart new file mode 100644 index 00000000..c1b3c6fa --- /dev/null +++ b/packages/pinball_components/lib/gen/pinball_fonts.dart @@ -0,0 +1,16 @@ +import 'package:pinball_components/gen/fonts.gen.dart'; + +String _prefixFont(String font) { + return 'packages/pinball_components/$font'; +} + +/// Class with the fonts available on the pinball game +class PinballFonts { + PinballFonts._(); + + /// Mono variation of the Pixeloid font + static final String pixeloidMono = _prefixFont(FontFamily.pixeloidMono); + + /// Sans variation of the Pixeloid font + static final String pixeloidSans = _prefixFont(FontFamily.pixeloidMono); +} diff --git a/packages/pinball_components/lib/pinball_components.dart b/packages/pinball_components/lib/pinball_components.dart index b00b9d5b..2551b54e 100644 --- a/packages/pinball_components/lib/pinball_components.dart +++ b/packages/pinball_components/lib/pinball_components.dart @@ -1,4 +1,5 @@ library pinball_components; export 'gen/assets.gen.dart'; +export 'gen/pinball_fonts.dart'; export 'src/pinball_components.dart'; diff --git a/packages/pinball_components/lib/src/components/components.dart b/packages/pinball_components/lib/src/components/components.dart index 14bb2157..4b2b41e7 100644 --- a/packages/pinball_components/lib/src/components/components.dart +++ b/packages/pinball_components/lib/src/components/components.dart @@ -17,7 +17,7 @@ export 'kicker.dart'; export 'launch_ramp.dart'; export 'layer.dart'; export 'ramp_opening.dart'; -export 'score_text_effect.dart'; +export 'score_text.dart'; export 'shapes/shapes.dart'; export 'slingshot.dart'; export 'spaceship.dart'; diff --git a/packages/pinball_components/lib/src/components/score_text_effect.dart b/packages/pinball_components/lib/src/components/score_text.dart similarity index 79% rename from packages/pinball_components/lib/src/components/score_text_effect.dart rename to packages/pinball_components/lib/src/components/score_text.dart index 2fa57576..1d647962 100644 --- a/packages/pinball_components/lib/src/components/score_text_effect.dart +++ b/packages/pinball_components/lib/src/components/score_text.dart @@ -3,16 +3,16 @@ import 'dart:async'; import 'package:flame/components.dart'; import 'package:flame/effects.dart'; import 'package:flutter/material.dart'; -import 'package:pinball_components/gen/fonts.gen.dart'; +import 'package:pinball_components/pinball_components.dart'; -/// {@template score_text_effect} +/// {@template score_text} /// A [TextComponent] that spawns at a given [position] /// bundles a simples translate effect and is removed /// once its animation is completed /// {@endtemplate} -class ScoreTextEffect extends TextComponent { - /// {@macro score_text_effect} - ScoreTextEffect({ +class ScoreText extends TextComponent { + /// {@macro score_text} + ScoreText({ required String text, required Vector2 position, this.color = Colors.black, @@ -32,7 +32,7 @@ class ScoreTextEffect extends TextComponent { Future onLoad() async { textRenderer = TextPaint( style: TextStyle( - fontFamily: 'packages/pinball_components/${FontFamily.pixeloidMono}', + fontFamily: PinballFonts.pixeloidMono, color: color, fontSize: 4, ), diff --git a/packages/pinball_components/sandbox/lib/main.dart b/packages/pinball_components/sandbox/lib/main.dart index 3c7d26e6..4e236e1e 100644 --- a/packages/pinball_components/sandbox/lib/main.dart +++ b/packages/pinball_components/sandbox/lib/main.dart @@ -25,6 +25,6 @@ void main() { addSparkyBumperStories(dashbook); addZoomStories(dashbook); addBoundariesStories(dashbook); - addScoreTextEffectStories(dashbook); + addScoreTextStories(dashbook); runApp(dashbook); } diff --git a/packages/pinball_components/sandbox/lib/stories/score_text_effect/basic.dart b/packages/pinball_components/sandbox/lib/stories/score_text/basic.dart similarity index 73% rename from packages/pinball_components/sandbox/lib/stories/score_text_effect/basic.dart rename to packages/pinball_components/sandbox/lib/stories/score_text/basic.dart index a6286ca5..49b83863 100644 --- a/packages/pinball_components/sandbox/lib/stories/score_text_effect/basic.dart +++ b/packages/pinball_components/sandbox/lib/stories/score_text/basic.dart @@ -5,11 +5,11 @@ import 'package:flutter/material.dart'; import 'package:pinball_components/pinball_components.dart'; import 'package:sandbox/common/common.dart'; -class ScoreTextEffectBasicGame extends BasicGame with TapDetector { +class ScoreTextBasicGame extends BasicGame with TapDetector { static const info = ''' - Simple game to show how score text effects works, + Simple game to show how score text works, - Tap anywhere on the screen to spawn an effect on the given location. + - Tap anywhere on the screen to spawn an text on the given location. '''; final random = Random(); @@ -22,7 +22,7 @@ class ScoreTextEffectBasicGame extends BasicGame with TapDetector { @override void onTapUp(TapUpInfo info) { add( - ScoreTextEffect( + ScoreText( text: random.nextInt(100000).toString(), color: Colors.white, 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 new file mode 100644 index 00000000..85caef1b --- /dev/null +++ b/packages/pinball_components/sandbox/lib/stories/score_text/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/score_text/basic.dart'; + +void addScoreTextStories(Dashbook dashbook) { + dashbook.storiesOf('ScoreText').add( + 'Basic', + (context) => GameWidget( + game: ScoreTextBasicGame(), + ), + codeLink: buildSourceLink('score_text/basic.dart'), + info: ScoreTextBasicGame.info, + ); +} diff --git a/packages/pinball_components/sandbox/lib/stories/score_text_effect/stories.dart b/packages/pinball_components/sandbox/lib/stories/score_text_effect/stories.dart deleted file mode 100644 index cff161d5..00000000 --- a/packages/pinball_components/sandbox/lib/stories/score_text_effect/stories.dart +++ /dev/null @@ -1,15 +0,0 @@ -import 'package:dashbook/dashbook.dart'; -import 'package:flame/game.dart'; -import 'package:sandbox/common/common.dart'; -import 'package:sandbox/stories/score_text_effect/basic.dart'; - -void addScoreTextEffectStories(Dashbook dashbook) { - dashbook.storiesOf('ScoreTextEffect').add( - 'Basic', - (context) => GameWidget( - game: ScoreTextEffectBasicGame(), - ), - codeLink: buildSourceLink('score_text_effect/basic.dart'), - info: ScoreTextEffectBasicGame.info, - ); -} diff --git a/packages/pinball_components/sandbox/lib/stories/stories.dart b/packages/pinball_components/sandbox/lib/stories/stories.dart index 69422d79..0abc40d1 100644 --- a/packages/pinball_components/sandbox/lib/stories/stories.dart +++ b/packages/pinball_components/sandbox/lib/stories/stories.dart @@ -6,7 +6,7 @@ export 'effects/stories.dart'; export 'flipper/stories.dart'; export 'flutter_forest/stories.dart'; export 'layer/stories.dart'; -export 'score_text_effect/stories.dart'; +export 'score_text/stories.dart'; export 'slingshot/stories.dart'; export 'spaceship/stories.dart'; export 'sparky_bumper/stories.dart'; diff --git a/packages/pinball_components/test/src/components/score_text_effects_test.dart b/packages/pinball_components/test/src/components/score_text_effects_test.dart index 94fb3035..7f828f1d 100644 --- a/packages/pinball_components/test/src/components/score_text_effects_test.dart +++ b/packages/pinball_components/test/src/components/score_text_effects_test.dart @@ -10,7 +10,7 @@ import 'package:pinball_components/pinball_components.dart'; import '../../helpers/helpers.dart'; void main() { - group('ScoreTextEffect', () { + group('ScoreText', () { final flameTester = FlameTester(TestGame.new); flameTester.testGameWidget( @@ -18,7 +18,7 @@ void main() { setUp: (game, tester) async { game.camera.followVector2(Vector2.zero()); await game.ensureAdd( - ScoreTextEffect( + ScoreText( text: '123', position: Vector2.zero(), color: Colors.white, @@ -36,7 +36,7 @@ void main() { setUp: (game, tester) async { game.camera.followVector2(Vector2.zero()); await game.ensureAdd( - ScoreTextEffect( + ScoreText( text: '123', position: Vector2.zero(), color: Colors.white, @@ -57,7 +57,7 @@ void main() { setUp: (game, tester) async { game.camera.followVector2(Vector2.zero()); await game.ensureAdd( - ScoreTextEffect( + ScoreText( text: '123', position: Vector2.zero(), color: Colors.white, diff --git a/test/game/components/score_effect_controller_test.dart b/test/game/components/score_effect_controller_test.dart index 93a1df1e..241f040b 100644 --- a/test/game/components/score_effect_controller_test.dart +++ b/test/game/components/score_effect_controller_test.dart @@ -64,7 +64,7 @@ void main() { group('onNewState', () { test( - 'adds a ScoreTextEffect with the correct score for the ' + 'adds a ScoreText with the correct score for the ' 'first time', () { const state = GameState( @@ -77,8 +77,8 @@ void main() { controller.onNewState(state); - final effect = verify(() => game.add(captureAny())).captured.first - as ScoreTextEffect; + final effect = + verify(() => game.add(captureAny())).captured.first as ScoreText; expect(effect.text, equals('10')); }, @@ -105,8 +105,8 @@ void main() { ), ); - final effect = verify(() => game.add(captureAny())).captured.last - as ScoreTextEffect; + final effect = + verify(() => game.add(captureAny())).captured.last as ScoreText; expect(effect.text, equals('4')); });