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,60 +11,51 @@ 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()
controller = MultipliersController(this); : x2multiplier = Multiplier(
}
/// Multiplier x2.
late final Multiplier x2multiplier;
/// Multiplier x3.
late final Multiplier x3multiplier;
/// Multiplier x4.
late final Multiplier x4multiplier;
/// Multiplier x5.
late final Multiplier x5multiplier;
/// Multiplier x6.
late final Multiplier x6multiplier;
@override
Future<void> onLoad() async {
await super.onLoad();
x2multiplier = Multiplier(
value: 2, value: 2,
position: Vector2(-19.5, -2), position: Vector2(-19.5, -2),
rotation: -15 * math.pi / 180, rotation: -15 * math.pi / 180,
); ),
x3multiplier = Multiplier( x3multiplier = Multiplier(
value: 3, value: 3,
position: Vector2(13, -9.5), position: Vector2(13, -9.5),
rotation: 15 * math.pi / 180, rotation: 15 * math.pi / 180,
); ),
x4multiplier = Multiplier( x4multiplier = Multiplier(
value: 4, value: 4,
position: Vector2(0, -21), position: Vector2(0, -21),
); ),
x5multiplier = Multiplier( x5multiplier = Multiplier(
value: 5, value: 5,
position: Vector2(-8.5, -28), position: Vector2(-8.5, -28),
rotation: -3 * math.pi / 180, rotation: -3 * math.pi / 180,
); ),
x6multiplier = Multiplier( x6multiplier = Multiplier(
value: 6, value: 6,
position: Vector2(10, -31), position: Vector2(10, -31),
rotation: 8 * math.pi / 180, rotation: 8 * math.pi / 180,
); ),
super() {
controller = MultipliersController(this);
}
final Multiplier x2multiplier;
final Multiplier x3multiplier;
final Multiplier x4multiplier;
final Multiplier x5multiplier;
final Multiplier x6multiplier;
@override
Future<void> onLoad() async {
await super.onLoad();
await addAll([ await addAll([
x2multiplier, x2multiplier,
@ -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