From 8737139f04929d8dae40a507272baef708372d35 Mon Sep 17 00:00:00 2001 From: RuiAlonso Date: Fri, 29 Apr 2022 12:51:56 +0200 Subject: [PATCH] refactor: improving ramp bonus --- lib/game/components/spaceship_ramp/android_ramp.dart | 1 - ...ehavior.dart => android_ramp_bonus_behavior.dart} | 12 +++++++++--- .../spaceship_ramp/behaviors/behaviors.dart | 2 +- .../cubit/android_ramp_sensor_cubit.dart | 10 ++++++---- .../cubit/android_ramp_sensor_state.dart | 5 +++-- 5 files changed, 19 insertions(+), 11 deletions(-) rename lib/game/components/spaceship_ramp/behaviors/{ramp_multiplier_bonus_behavior.dart => android_ramp_bonus_behavior.dart} (90%) diff --git a/lib/game/components/spaceship_ramp/android_ramp.dart b/lib/game/components/spaceship_ramp/android_ramp.dart index 1df2c5b0..88ad5363 100644 --- a/lib/game/components/spaceship_ramp/android_ramp.dart +++ b/lib/game/components/spaceship_ramp/android_ramp.dart @@ -5,7 +5,6 @@ import 'dart:math' as math; import 'package:flame/components.dart'; import 'package:flame_forge2d/flame_forge2d.dart'; import 'package:flutter/material.dart'; -import 'package:pinball/game/components/components.dart'; import 'package:pinball/game/components/spaceship_ramp/behaviors/behaviors.dart'; import 'package:pinball/game/game.dart'; import 'package:pinball_components/pinball_components.dart'; diff --git a/lib/game/components/spaceship_ramp/behaviors/ramp_multiplier_bonus_behavior.dart b/lib/game/components/spaceship_ramp/behaviors/android_ramp_bonus_behavior.dart similarity index 90% rename from lib/game/components/spaceship_ramp/behaviors/ramp_multiplier_bonus_behavior.dart rename to lib/game/components/spaceship_ramp/behaviors/android_ramp_bonus_behavior.dart index 9509f0d9..801fea95 100644 --- a/lib/game/components/spaceship_ramp/behaviors/ramp_multiplier_bonus_behavior.dart +++ b/lib/game/components/spaceship_ramp/behaviors/android_ramp_bonus_behavior.dart @@ -59,7 +59,7 @@ class AndroidRampBonusBehavior extends Component _balls.remove(ball); print("removed $_balls"); _previousHits++; - shot(_previousHits); + shot(_previousHits, ball.body.position); } } @@ -67,12 +67,18 @@ class AndroidRampBonusBehavior extends Component /// When a [Ball] shot the [SpaceshipRamp] it achieve improvements for the /// current game, like multipliers or score. - void shot(int currentHits) { + void shot(int currentHits, Vector2 position) { parent.spaceshipRamp.progress(); print("SHOT $currentHits"); print("Score $_shotPoints"); gameRef.read().add(Scored(points: _shotPoints)); + gameRef.add( + ScoreText( + text: _shotPoints.toString(), + position: position, + ), + ); final multiplier = gameRef.read().state.multiplier; gameRef.read().add(const MultiplierIncreased()); @@ -84,7 +90,7 @@ class AndroidRampBonusBehavior extends Component gameRef.add( ScoreText( text: _bonusPoints.toString(), - position: Vector2(1.7, -20), + position: position + Vector2(-2, -5), ), ); } diff --git a/lib/game/components/spaceship_ramp/behaviors/behaviors.dart b/lib/game/components/spaceship_ramp/behaviors/behaviors.dart index 1b0a965b..cb3f4591 100644 --- a/lib/game/components/spaceship_ramp/behaviors/behaviors.dart +++ b/lib/game/components/spaceship_ramp/behaviors/behaviors.dart @@ -1,2 +1,2 @@ -export 'ramp_multiplier_bonus_behavior.dart'; +export 'android_ramp_bonus_behavior.dart'; export 'ramp_shot_behavior.dart'; diff --git a/lib/game/components/spaceship_ramp/cubit/android_ramp_sensor_cubit.dart b/lib/game/components/spaceship_ramp/cubit/android_ramp_sensor_cubit.dart index 189d14fb..1db018e5 100644 --- a/lib/game/components/spaceship_ramp/cubit/android_ramp_sensor_cubit.dart +++ b/lib/game/components/spaceship_ramp/cubit/android_ramp_sensor_cubit.dart @@ -19,9 +19,11 @@ class AndroidRampSensorCubit extends Cubit { } void onInside(Ball ball) { - emit(state.copyWith( - type: AndroidRampSensorType.inside, - ball: ball, - )); + emit( + state.copyWith( + type: AndroidRampSensorType.inside, + ball: ball, + ), + ); } } diff --git a/lib/game/components/spaceship_ramp/cubit/android_ramp_sensor_state.dart b/lib/game/components/spaceship_ramp/cubit/android_ramp_sensor_state.dart index a30f87c1..890dcd31 100644 --- a/lib/game/components/spaceship_ramp/cubit/android_ramp_sensor_state.dart +++ b/lib/game/components/spaceship_ramp/cubit/android_ramp_sensor_state.dart @@ -11,13 +11,14 @@ enum AndroidRampSensorType { } class AndroidRampSensorState extends Equatable { - AndroidRampSensorState({ + const AndroidRampSensorState({ required this.type, this.ball, }); /// {@macro assets_manager_state} - AndroidRampSensorState.initial() : this(type: AndroidRampSensorType.door); + const AndroidRampSensorState.initial() + : this(type: AndroidRampSensorType.door); final AndroidRampSensorType type; final Ball? ball;