feat: added events for increment, apply and reset multiplier

pull/213/head
RuiAlonso 3 years ago
parent 1aac4cb0e3
commit fefc881b71

@ -12,6 +12,7 @@ class GameBloc extends Bloc<GameEvent, GameState> {
on<BallLost>(_onBallLost);
on<Scored>(_onScored);
on<IncreasedMultiplier>(_onIncreasedMultiplier);
on<AppliedMultiplier>(_onAppliedMultiplier);
on<ResetMultiplier>(_onResetMultiplier);
on<BonusActivated>(_onBonusActivated);
on<SparkyTurboChargeActivated>(_onSparkyTurboChargeActivated);
@ -24,7 +25,7 @@ class GameBloc extends Bloc<GameEvent, GameState> {
void _onScored(Scored event, Emitter emit) {
if (!state.isGameOver) {
emit(
state.copyWith(score: state.score + state.multiplier * event.points),
state.copyWith(score: state.score + event.points),
);
}
}
@ -35,6 +36,12 @@ class GameBloc extends Bloc<GameEvent, GameState> {
}
}
void _onAppliedMultiplier(AppliedMultiplier event, Emitter emit) {
if (!state.isGameOver) {
emit(state.copyWith(score: state.score * state.multiplier));
}
}
void _onResetMultiplier(ResetMultiplier event, Emitter emit) {
if (!state.isGameOver) {
emit(state.copyWith(multiplier: 1));

@ -64,6 +64,17 @@ class IncreasedMultiplier extends GameEvent {
List<Object?> get props => [increase];
}
/// {@template applied_multiplier_game_event}
/// Event added when multiplier is applied to score.
/// {@endtemplate}
class AppliedMultiplier extends GameEvent {
/// {@macro applied_multiplier_game_event}
const AppliedMultiplier();
@override
List<Object?> get props => [];
}
/// {@template reset_multiplier_game_event}
/// Event added when multiplier is reset.
/// {@endtemplate}

Loading…
Cancel
Save