chore: little code refactor, doc

pull/231/head
RuiAlonso 3 years ago
parent 262cdbb6c8
commit 5a597fbc1b

@ -1,3 +1,5 @@
// ignore_for_file: public_member_api_docs
import 'dart:math' as math; import 'dart:math' as math;
import 'package:flame/components.dart'; import 'package:flame/components.dart';
import 'package:flame_bloc/flame_bloc.dart'; import 'package:flame_bloc/flame_bloc.dart';
@ -9,61 +11,52 @@ import 'package:pinball_flame/pinball_flame.dart';
/// {@template multipliers_group_component} /// {@template multipliers_group_component}
/// A [SpriteGroupComponent] for the multiplier over the board. /// A [SpriteGroupComponent] for the multiplier over the board.
/// {@endtemplate} /// {@endtemplate}
class MultipliersGroup extends Component class Multipliers extends Component
with Controls<MultipliersController>, HasGameRef<PinballGame> { with Controls<MultipliersController>, HasGameRef<PinballGame> {
/// {@macro multipliers_group_component} /// {@macro multipliers_group_component}
MultipliersGroup() : super() { Multipliers()
: x2multiplier = Multiplier(
value: 2,
position: Vector2(-19.5, -2),
rotation: -15 * math.pi / 180,
),
x3multiplier = Multiplier(
value: 3,
position: Vector2(13, -9.5),
rotation: 15 * math.pi / 180,
),
x4multiplier = Multiplier(
value: 4,
position: Vector2(0, -21),
),
x5multiplier = Multiplier(
value: 5,
position: Vector2(-8.5, -28),
rotation: -3 * math.pi / 180,
),
x6multiplier = Multiplier(
value: 6,
position: Vector2(10, -31),
rotation: 8 * math.pi / 180,
),
super() {
controller = MultipliersController(this); controller = MultipliersController(this);
} }
/// Multiplier x2. final Multiplier x2multiplier;
late final Multiplier x2multiplier;
/// Multiplier x3. final Multiplier x3multiplier;
late final Multiplier x3multiplier;
/// Multiplier x4. final Multiplier x4multiplier;
late final Multiplier x4multiplier;
/// Multiplier x5. final Multiplier x5multiplier;
late final Multiplier x5multiplier;
/// Multiplier x6. final Multiplier x6multiplier;
late final Multiplier x6multiplier;
@override @override
Future<void> onLoad() async { Future<void> onLoad() async {
await super.onLoad(); await super.onLoad();
x2multiplier = Multiplier(
value: 2,
position: Vector2(-19.5, -2),
rotation: -15 * math.pi / 180,
);
x3multiplier = Multiplier(
value: 3,
position: Vector2(13, -9.5),
rotation: 15 * math.pi / 180,
);
x4multiplier = Multiplier(
value: 4,
position: Vector2(0, -21),
);
x5multiplier = Multiplier(
value: 5,
position: Vector2(-8.5, -28),
rotation: -3 * math.pi / 180,
);
x6multiplier = Multiplier(
value: 6,
position: Vector2(10, -31),
rotation: 8 * math.pi / 180,
);
await addAll([ await addAll([
x2multiplier, x2multiplier,
x3multiplier, x3multiplier,
@ -75,15 +68,14 @@ class MultipliersGroup extends Component
} }
/// {@template multipliers_controller} /// {@template multipliers_controller}
/// Controller attached to a [MultipliersGroup] that handles its game related /// Controller attached to a [Multipliers] that handles its game related
/// logic. /// logic.
/// {@endtemplate} /// {@endtemplate}
@visibleForTesting @visibleForTesting
class MultipliersController extends ComponentController<MultipliersGroup> class MultipliersController extends ComponentController<Multipliers>
with BlocComponent<GameBloc, GameState>, HasGameRef<PinballGame> { with BlocComponent<GameBloc, GameState>, HasGameRef<PinballGame> {
/// {@macro multipliers_controller} /// {@macro multipliers_controller}
MultipliersController(MultipliersGroup multipliersGroup) MultipliersController(Multipliers multipliersGroup) : super(multipliersGroup);
: super(multipliersGroup);
@override @override
bool listenWhen(GameState? previousState, GameState newState) { bool listenWhen(GameState? previousState, GameState newState) {

@ -55,7 +55,7 @@ class PinballGame extends Forge2DGame
final launcher = Launcher(); final launcher = Launcher();
unawaited(addFromBlueprint(launcher)); unawaited(addFromBlueprint(launcher));
unawaited(add(Board())); unawaited(add(Board()));
unawaited(add(MultipliersGroup())); unawaited(add(Multipliers()));
unawaited(add(AlienZone())); unawaited(add(AlienZone()));
await addFromBlueprint(SparkyFireZone()); await addFromBlueprint(SparkyFireZone());
unawaited(addFromBlueprint(Slingshots())); unawaited(addFromBlueprint(Slingshots()));

@ -28,7 +28,7 @@ void main() {
flameTester.test( flameTester.test(
'loads correctly', 'loads correctly',
(game) async { (game) async {
final multipliersGroup = MultipliersGroup(); final multipliersGroup = Multipliers();
await game.ensureAdd(multipliersGroup); await game.ensureAdd(multipliersGroup);
expect(game.contains(multipliersGroup), isTrue); expect(game.contains(multipliersGroup), isTrue);
@ -39,7 +39,7 @@ void main() {
flameTester.test( flameTester.test(
'five Multiplier', 'five Multiplier',
(game) async { (game) async {
final multipliersGroup = MultipliersGroup(); final multipliersGroup = Multipliers();
await game.ensureAdd(multipliersGroup); await game.ensureAdd(multipliersGroup);
expect( expect(
@ -60,7 +60,7 @@ void main() {
const previous = GameState.initial(); const previous = GameState.initial();
final state = previous.copyWith(score: 100); final state = previous.copyWith(score: 100);
final multipliersGroup = MultipliersGroup(); final multipliersGroup = Multipliers();
await game.ensureAdd(multipliersGroup); await game.ensureAdd(multipliersGroup);
expect( expect(
@ -75,7 +75,7 @@ void main() {
(game) async { (game) async {
const previous = GameState.initial(); const previous = GameState.initial();
final multipliersGroup = MultipliersGroup(); final multipliersGroup = Multipliers();
await game.ensureAdd(multipliersGroup); await game.ensureAdd(multipliersGroup);
expect( expect(

@ -88,4 +88,4 @@ class MockSparkyBumper extends Mock implements SparkyBumper {}
class MockMultiplier extends Mock implements Multiplier {} class MockMultiplier extends Mock implements Multiplier {}
class MockMultipliersGroup extends Mock implements MultipliersGroup {} class MockMultipliersGroup extends Mock implements Multipliers {}

Loading…
Cancel
Save