refactor: refactored sandbox for scoretexts

pull/276/head
RuiAlonso 3 years ago
parent 253feb5c23
commit a563d6a20d

@ -24,7 +24,7 @@ void main() {
addBoundariesStories(dashbook); addBoundariesStories(dashbook);
addGoogleWordStories(dashbook); addGoogleWordStories(dashbook);
addLaunchRampStories(dashbook); addLaunchRampStories(dashbook);
addScoreTextStories(dashbook); addScoreStories(dashbook);
addBackboardStories(dashbook); addBackboardStories(dashbook);
addDinoWallStories(dashbook); addDinoWallStories(dashbook);
addMultipliersStories(dashbook); addMultipliersStories(dashbook);

@ -1,6 +1,6 @@
import 'package:flame/input.dart'; import 'package:flame/input.dart';
import 'package:flutter/material.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:pinball_theme/pinball_theme.dart';
import 'package:sandbox/common/common.dart'; import 'package:sandbox/common/common.dart';
@ -8,7 +8,32 @@ class BackboardGameOverGame extends AssetsGame
with HasKeyboardHandlerComponents { with HasKeyboardHandlerComponents {
BackboardGameOverGame(this.score, this.character) BackboardGameOverGame(this.score, this.character)
: super( : 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 = ''' static const description = '''
@ -30,22 +55,23 @@ class BackboardGameOverGame extends AssetsGame
@override @override
Future<void> onLoad() async { Future<void> onLoad() async {
await super.onLoad();
camera camera
..followVector2(Vector2.zero()) ..followVector2(Vector2.zero())
..zoom = 5; ..zoom = 5;
await add( await add(
Backboard.gameOver( components.Backboard.gameOver(
position: Vector2(0, 20), position: Vector2(0, 20),
score: score, score: score,
characterIconPath: characterIconPaths[character]!, characterIconPath: characterIconPaths[character]!,
onSubmit: (initials) { onSubmit: (initials) {
add( add(
ScoreText( components.ScoreComponent(
score: Score.points_6m, score: components.Score.values
//text: 'User $initials made $score', .firstWhere((element) => element.value == score),
position: Vector2(0, 50), position: Vector2(0, 50),
//color: Colors.pink,
), ),
); );
}, },

@ -1,4 +1,5 @@
import 'package:dashbook/dashbook.dart'; import 'package:dashbook/dashbook.dart';
import 'package:pinball_components/pinball_components.dart';
import 'package:sandbox/common/common.dart'; import 'package:sandbox/common/common.dart';
import 'package:sandbox/stories/backboard/backboard_game_over_game.dart'; import 'package:sandbox/stories/backboard/backboard_game_over_game.dart';
import 'package:sandbox/stories/backboard/backboard_waiting_game.dart'; import 'package:sandbox/stories/backboard/backboard_waiting_game.dart';
@ -14,7 +15,11 @@ void addBackboardStories(Dashbook dashbook) {
title: 'Game over', title: 'Game over',
description: BackboardGameOverGame.description, description: BackboardGameOverGame.description,
gameBuilder: (context) => BackboardGameOverGame( gameBuilder: (context) => BackboardGameOverGame(
context.numberProperty('Score', 9000000000).toInt(), context.listProperty(
'Score',
Score.values.first.value,
Score.values.map((score) => score.value).toList(),
),
context.listProperty( context.listProperty(
'Character', 'Character',
BackboardGameOverGame.characterIconPaths.keys.first, BackboardGameOverGame.characterIconPaths.keys.first,

@ -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<void> 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)),
),
);
}
}

@ -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(),
);
}

@ -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<void> 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)),
),
);
}
}

@ -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(),
);
}

@ -12,6 +12,6 @@ export 'launch_ramp/stories.dart';
export 'layer/stories.dart'; export 'layer/stories.dart';
export 'multipliers/stories.dart'; export 'multipliers/stories.dart';
export 'plunger/stories.dart'; export 'plunger/stories.dart';
export 'score_text/stories.dart'; export 'score/stories.dart';
export 'slingshot/stories.dart'; export 'slingshot/stories.dart';
export 'sparky_bumper/stories.dart'; export 'sparky_bumper/stories.dart';

Loading…
Cancel
Save