You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
pinball/lib/start_game/bloc/start_game_bloc.dart

63 lines
1.3 KiB

import 'package:bloc/bloc.dart';
import 'package:equatable/equatable.dart';
part 'start_game_event.dart';
part 'start_game_state.dart';
/// {@template start_game_bloc}
/// Bloc that manages the app flow before the game starts.
/// {@endtemplate}
class StartGameBloc extends Bloc<StartGameEvent, StartGameState> {
/// {@macro start_game_bloc}
StartGameBloc() : super(const StartGameState.initial()) {
on<PlayTapped>(_onPlayTapped);
feat: `GameOverInfoDisplay` on game over `Backbox` (#359) * feat: info screen ui * feat: info screen ui * feat: replay button * feat: added replay button and game flow * feat: game over info display flow at backbox * test: fixed tests and coverage * test: fix tests and coverage * chore: info display doc" * refactor: text component name * Update lib/game/components/backbox/bloc/backbox_state.dart Co-authored-by: Allison Ryan <77211884+allisonryan0002@users.noreply.github.com> * Update lib/game/components/backbox/bloc/backbox_state.dart Co-authored-by: Allison Ryan <77211884+allisonryan0002@users.noreply.github.com> * Update lib/game/components/backbox/bloc/backbox_state.dart Co-authored-by: Allison Ryan <77211884+allisonryan0002@users.noreply.github.com> * Update test/game/components/backbox/displays/info_display_test.dart Co-authored-by: Allison Ryan <77211884+allisonryan0002@users.noreply.github.com> * Update test/start_game/widgets/start_game_listener_test.dart Co-authored-by: Allison Ryan <77211884+allisonryan0002@users.noreply.github.com> * Update test/start_game/widgets/start_game_listener_test.dart Co-authored-by: Allison Ryan <77211884+allisonryan0002@users.noreply.github.com> * Update test/game/view/widgets/replay_button_overlay_test.dart Co-authored-by: Allison Ryan <77211884+allisonryan0002@users.noreply.github.com> * Update test/game/components/backbox/displays/info_display_test.dart Co-authored-by: Allison Ryan <77211884+allisonryan0002@users.noreply.github.com> * Update lib/game/components/backbox/displays/info_display.dart Co-authored-by: Allison Ryan <77211884+allisonryan0002@users.noreply.github.com> * Update lib/game/components/backbox/displays/info_display.dart Co-authored-by: Allison Ryan <77211884+allisonryan0002@users.noreply.github.com> * Update lib/game/components/backbox/displays/info_display.dart Co-authored-by: Allison Ryan <77211884+allisonryan0002@users.noreply.github.com> * Update lib/game/components/backbox/displays/info_display.dart Co-authored-by: Allison Ryan <77211884+allisonryan0002@users.noreply.github.com> * Update lib/game/view/widgets/replay_button_overlay.dart Co-authored-by: Allison Ryan <77211884+allisonryan0002@users.noreply.github.com> * Update lib/l10n/arb/app_en.arb Co-authored-by: Allison Ryan <77211884+allisonryan0002@users.noreply.github.com> * Update test/game/components/backbox/backbox_test.dart Co-authored-by: Allison Ryan <77211884+allisonryan0002@users.noreply.github.com> * Update test/game/components/backbox/bloc/backbox_bloc_test.dart Co-authored-by: Allison Ryan <77211884+allisonryan0002@users.noreply.github.com> * Update lib/l10n/arb/app_en.arb Co-authored-by: Allison Ryan <77211884+allisonryan0002@users.noreply.github.com> * refactor: changed names and removed replaying * refactor: removed restart logic changes for another pr * feat: link underscore * chore: test fixed, names changed * chore: unused import * feat: add replayButtonOverlay at GameOverInfoDisplay * feat: added open source url url launcher * feat: launch url and test * chore: removed comments * fix: remove overlay for Replay to merge info screen * chore: unused import * test: load images bug fix * Update lib/game/components/backbox/displays/game_over_info_display.dart Co-authored-by: Allison Ryan <77211884+allisonryan0002@users.noreply.github.com> * refactor: removed props from state for sharing only score * feat: moved open links to info display and added link to OS * test: fixed merge tests * chore: unused imports and annotation missed * Update lib/game/components/backbox/bloc/backbox_state.dart * chore: tappables added to cspell Co-authored-by: Allison Ryan <77211884+allisonryan0002@users.noreply.github.com> Co-authored-by: Tom Arra <tarra3@gmail.com>
2 years ago
on<ReplayTapped>(_onReplayTapped);
on<CharacterSelected>(_onCharacterSelected);
on<HowToPlayFinished>(_onHowToPlayFinished);
}
void _onPlayTapped(
PlayTapped event,
Emitter<StartGameState> emit,
) {
emit(
state.copyWith(
status: StartGameStatus.selectCharacter,
),
);
}
feat: `GameOverInfoDisplay` on game over `Backbox` (#359) * feat: info screen ui * feat: info screen ui * feat: replay button * feat: added replay button and game flow * feat: game over info display flow at backbox * test: fixed tests and coverage * test: fix tests and coverage * chore: info display doc" * refactor: text component name * Update lib/game/components/backbox/bloc/backbox_state.dart Co-authored-by: Allison Ryan <77211884+allisonryan0002@users.noreply.github.com> * Update lib/game/components/backbox/bloc/backbox_state.dart Co-authored-by: Allison Ryan <77211884+allisonryan0002@users.noreply.github.com> * Update lib/game/components/backbox/bloc/backbox_state.dart Co-authored-by: Allison Ryan <77211884+allisonryan0002@users.noreply.github.com> * Update test/game/components/backbox/displays/info_display_test.dart Co-authored-by: Allison Ryan <77211884+allisonryan0002@users.noreply.github.com> * Update test/start_game/widgets/start_game_listener_test.dart Co-authored-by: Allison Ryan <77211884+allisonryan0002@users.noreply.github.com> * Update test/start_game/widgets/start_game_listener_test.dart Co-authored-by: Allison Ryan <77211884+allisonryan0002@users.noreply.github.com> * Update test/game/view/widgets/replay_button_overlay_test.dart Co-authored-by: Allison Ryan <77211884+allisonryan0002@users.noreply.github.com> * Update test/game/components/backbox/displays/info_display_test.dart Co-authored-by: Allison Ryan <77211884+allisonryan0002@users.noreply.github.com> * Update lib/game/components/backbox/displays/info_display.dart Co-authored-by: Allison Ryan <77211884+allisonryan0002@users.noreply.github.com> * Update lib/game/components/backbox/displays/info_display.dart Co-authored-by: Allison Ryan <77211884+allisonryan0002@users.noreply.github.com> * Update lib/game/components/backbox/displays/info_display.dart Co-authored-by: Allison Ryan <77211884+allisonryan0002@users.noreply.github.com> * Update lib/game/components/backbox/displays/info_display.dart Co-authored-by: Allison Ryan <77211884+allisonryan0002@users.noreply.github.com> * Update lib/game/view/widgets/replay_button_overlay.dart Co-authored-by: Allison Ryan <77211884+allisonryan0002@users.noreply.github.com> * Update lib/l10n/arb/app_en.arb Co-authored-by: Allison Ryan <77211884+allisonryan0002@users.noreply.github.com> * Update test/game/components/backbox/backbox_test.dart Co-authored-by: Allison Ryan <77211884+allisonryan0002@users.noreply.github.com> * Update test/game/components/backbox/bloc/backbox_bloc_test.dart Co-authored-by: Allison Ryan <77211884+allisonryan0002@users.noreply.github.com> * Update lib/l10n/arb/app_en.arb Co-authored-by: Allison Ryan <77211884+allisonryan0002@users.noreply.github.com> * refactor: changed names and removed replaying * refactor: removed restart logic changes for another pr * feat: link underscore * chore: test fixed, names changed * chore: unused import * feat: add replayButtonOverlay at GameOverInfoDisplay * feat: added open source url url launcher * feat: launch url and test * chore: removed comments * fix: remove overlay for Replay to merge info screen * chore: unused import * test: load images bug fix * Update lib/game/components/backbox/displays/game_over_info_display.dart Co-authored-by: Allison Ryan <77211884+allisonryan0002@users.noreply.github.com> * refactor: removed props from state for sharing only score * feat: moved open links to info display and added link to OS * test: fixed merge tests * chore: unused imports and annotation missed * Update lib/game/components/backbox/bloc/backbox_state.dart * chore: tappables added to cspell Co-authored-by: Allison Ryan <77211884+allisonryan0002@users.noreply.github.com> Co-authored-by: Tom Arra <tarra3@gmail.com>
2 years ago
void _onReplayTapped(
ReplayTapped event,
Emitter<StartGameState> emit,
) {
emit(
state.copyWith(
status: StartGameStatus.selectCharacter,
),
);
}
void _onCharacterSelected(
CharacterSelected event,
Emitter<StartGameState> emit,
) {
emit(
state.copyWith(
status: StartGameStatus.howToPlay,
),
);
}
void _onHowToPlayFinished(
HowToPlayFinished event,
Emitter<StartGameState> emit,
) {
emit(
state.copyWith(
status: StartGameStatus.play,
),
);
}
}