From 4a3e9f7abcb27e97cdc9fd4118915d1c199d3562 Mon Sep 17 00:00:00 2001 From: Jorge Coca Date: Sat, 7 May 2022 09:15:03 -0500 Subject: [PATCH 1/3] chore: cleanup public api docs annotations (#382) --- analysis_options.yaml | 3 +++ lib/app/view/app.dart | 2 -- lib/bootstrap.dart | 2 -- lib/game/behaviors/bumper_noise_behavior.dart | 2 -- lib/game/bloc/game_bloc.dart | 1 - lib/game/bloc/game_event.dart | 2 -- lib/game/bloc/game_state.dart | 2 -- lib/game/pinball_game.dart | 1 - lib/game/view/pinball_game_page.dart | 2 -- .../widgets/how_to_play_dialog.dart | 2 -- lib/l10n/l10n.dart | 2 -- .../cubit/character_theme_cubit.dart | 2 -- .../cubit/character_theme_state.dart | 2 -- .../pinball_components/analysis_options.yaml | 3 +++ .../android_bumper/android_bumper.dart | 1 - .../android_bumper_ball_contact_behavior.dart | 2 -- .../cubit/android_bumper_cubit.dart | 2 -- .../cubit/android_bumper_state.dart | 2 -- .../android_spaceship/android_spaceship.dart | 2 -- ...p_entrance_ball_contact_behavior.dart.dart | 2 -- .../cubit/android_spaceship_cubit.dart | 2 -- .../cubit/android_spaceship_state.dart | 2 -- .../src/components/ball/cubit/ball_cubit.dart | 2 -- .../src/components/ball/cubit/ball_state.dart | 2 -- .../board_background_sprite_component.dart | 2 -- .../components/chrome_dino/chrome_dino.dart | 1 - .../chrome_dino/cubit/chrome_dino_cubit.dart | 2 -- .../chrome_dino/cubit/chrome_dino_state.dart | 2 -- .../dash_nest_bumper_contact_behavior.dart | 2 -- .../cubit/dash_nest_bumper_cubit.dart | 2 -- .../dash_nest_bumper/dash_nest_bumper.dart | 1 - .../behaviors/flapper_spinning_behavior.dart | 2 -- .../google_letter_ball_contact_behavior.dart | 2 -- .../cubit/google_letter_cubit.dart | 2 -- .../cubit/google_letter_state.dart | 2 -- .../google_letter/google_letter.dart | 1 - .../kicker_ball_contact_behavior.dart | 2 -- .../components/kicker/cubit/kicker_cubit.dart | 2 -- .../components/kicker/cubit/kicker_state.dart | 2 -- .../lib/src/components/kicker/kicker.dart | 2 -- .../behaviors/layer_filtering_behavior.dart | 2 -- .../components/layer_sensor/layer_sensor.dart | 2 -- .../multiball/cubit/multiball_cubit.dart | 2 -- .../multiball/cubit/multiball_state.dart | 3 --- .../src/components/multiball/multiball.dart | 1 - .../multiplier/cubit/multiplier_cubit.dart | 2 -- .../multiplier/cubit/multiplier_state.dart | 2 -- .../src/components/multiplier/multiplier.dart | 2 -- .../lib/src/components/score_component.dart | 2 -- .../lib/src/components/shapes/arc_shape.dart | 2 -- .../components/shapes/bezier_curve_shape.dart | 2 -- .../src/components/shapes/ellipse_shape.dart | 2 -- .../signpost/cubit/signpost_cubit.dart | 2 -- .../signpost/cubit/signpost_state.dart | 2 -- .../lib/src/components/signpost/signpost.dart | 1 - .../skill_shot_ball_contact_behavior.dart | 2 -- .../skill_shot/cubit/skill_shot_cubit.dart | 2 -- .../skill_shot/cubit/skill_shot_state.dart | 2 -- .../src/components/skill_shot/skill_shot.dart | 1 - .../ramp_ball_ascending_contact_behavior.dart | 2 -- .../cubit/spaceship_ramp_cubit.dart | 2 -- .../cubit/spaceship_ramp_state.dart | 2 -- .../spaceship_ramp/spaceship_ramp.dart | 1 - .../sparky_bumper_ball_contact_behavior.dart | 2 -- .../cubit/sparky_bumper_cubit.dart | 2 -- .../cubit/sparky_bumper_state.dart | 2 -- .../sparky_bumper/sparky_bumper.dart | 2 -- .../cubit/sparky_computer_cubit.dart | 2 -- .../cubit/sparky_computer_state.dart | 2 -- .../sparky_computer/sparky_computer.dart | 1 - .../lib/src/components/z_indexes.dart | 2 -- .../android_bumper/android_bumper_test.dart | 1 - .../android_spaceship_test.dart | 1 - .../chrome_dino/chrome_dino_test.dart | 1 - .../dash_nest_bumper_test.dart | 1 - .../google_letter/google_letter_test.dart | 1 - .../test/src/components/kicker_test.dart | 1 - .../skill_shot/skill_shot_test.dart | 1 - .../sparky_bumper/sparky_bumper_test.dart | 1 - .../sparky_computer/sparky_computer_test.dart | 1 - .../lib/src/canvas/canvas_wrapper.dart | 6 +++-- .../pinball_flame/lib/src/flame_provider.dart | 22 ++++++++++------ .../lib/src/sprite_animation.dart | 12 +++++++-- .../lib/src/theme/pinball_colors.dart | 25 ++++++++++++++++++- .../lib/src/theme/pinball_text_style.dart | 16 ++++++------ .../lib/src/theme/pinball_theme.dart | 1 - .../src/theme/pinball_text_style_test.dart | 6 ----- .../test/src/theme/pinball_theme_test.dart | 15 ----------- 88 files changed, 66 insertions(+), 180 deletions(-) diff --git a/analysis_options.yaml b/analysis_options.yaml index f8155aa6..eb141d0e 100644 --- a/analysis_options.yaml +++ b/analysis_options.yaml @@ -2,3 +2,6 @@ include: package:very_good_analysis/analysis_options.2.4.0.yaml analyzer: exclude: - lib/**/*.gen.dart +linter: + rules: + public_member_api_docs: false \ No newline at end of file diff --git a/lib/app/view/app.dart b/lib/app/view/app.dart index ae3094e1..eccff7a6 100644 --- a/lib/app/view/app.dart +++ b/lib/app/view/app.dart @@ -1,5 +1,3 @@ -// ignore_for_file: public_member_api_docs - import 'package:authentication_repository/authentication_repository.dart'; import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; diff --git a/lib/bootstrap.dart b/lib/bootstrap.dart index c5e42951..f4028ee1 100644 --- a/lib/bootstrap.dart +++ b/lib/bootstrap.dart @@ -1,5 +1,3 @@ -// ignore_for_file: public_member_api_docs - import 'dart:async'; import 'dart:developer'; diff --git a/lib/game/behaviors/bumper_noise_behavior.dart b/lib/game/behaviors/bumper_noise_behavior.dart index 9c5da701..926fff96 100644 --- a/lib/game/behaviors/bumper_noise_behavior.dart +++ b/lib/game/behaviors/bumper_noise_behavior.dart @@ -1,5 +1,3 @@ -// ignore_for_file: public_member_api_docs - import 'package:flame_forge2d/flame_forge2d.dart'; import 'package:pinball_audio/pinball_audio.dart'; import 'package:pinball_flame/pinball_flame.dart'; diff --git a/lib/game/bloc/game_bloc.dart b/lib/game/bloc/game_bloc.dart index b22baa14..d00e5da1 100644 --- a/lib/game/bloc/game_bloc.dart +++ b/lib/game/bloc/game_bloc.dart @@ -1,4 +1,3 @@ -// ignore_for_file: public_member_api_docs import 'dart:math' as math; import 'package:bloc/bloc.dart'; import 'package:equatable/equatable.dart'; diff --git a/lib/game/bloc/game_event.dart b/lib/game/bloc/game_event.dart index 6dba8056..a8e8593b 100644 --- a/lib/game/bloc/game_event.dart +++ b/lib/game/bloc/game_event.dart @@ -1,5 +1,3 @@ -// ignore_for_file: public_member_api_docs - part of 'game_bloc.dart'; @immutable diff --git a/lib/game/bloc/game_state.dart b/lib/game/bloc/game_state.dart index d0311442..c45da958 100644 --- a/lib/game/bloc/game_state.dart +++ b/lib/game/bloc/game_state.dart @@ -1,5 +1,3 @@ -// ignore_for_file: public_member_api_docs - part of 'game_bloc.dart'; /// Defines bonuses that a player can gain during a PinballGame. diff --git a/lib/game/pinball_game.dart b/lib/game/pinball_game.dart index 063f959e..c6ca8033 100644 --- a/lib/game/pinball_game.dart +++ b/lib/game/pinball_game.dart @@ -1,4 +1,3 @@ -// ignore_for_file: public_member_api_docs import 'dart:async'; import 'package:flame/components.dart'; diff --git a/lib/game/view/pinball_game_page.dart b/lib/game/view/pinball_game_page.dart index 354d61ed..c67b2d10 100644 --- a/lib/game/view/pinball_game_page.dart +++ b/lib/game/view/pinball_game_page.dart @@ -1,5 +1,3 @@ -// ignore_for_file: public_member_api_docs - import 'package:flame/game.dart'; import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; diff --git a/lib/how_to_play/widgets/how_to_play_dialog.dart b/lib/how_to_play/widgets/how_to_play_dialog.dart index 1fd26837..0113319e 100644 --- a/lib/how_to_play/widgets/how_to_play_dialog.dart +++ b/lib/how_to_play/widgets/how_to_play_dialog.dart @@ -1,5 +1,3 @@ -// ignore_for_file: public_member_api_docs - import 'dart:async'; import 'package:flutter/material.dart'; diff --git a/lib/l10n/l10n.dart b/lib/l10n/l10n.dart index 0945f30f..17c891b5 100644 --- a/lib/l10n/l10n.dart +++ b/lib/l10n/l10n.dart @@ -1,5 +1,3 @@ -// ignore_for_file: public_member_api_docs - import 'package:flutter/widgets.dart'; import 'package:flutter_gen/gen_l10n/app_localizations.dart'; diff --git a/lib/select_character/cubit/character_theme_cubit.dart b/lib/select_character/cubit/character_theme_cubit.dart index 362db11a..2be3b88b 100644 --- a/lib/select_character/cubit/character_theme_cubit.dart +++ b/lib/select_character/cubit/character_theme_cubit.dart @@ -1,5 +1,3 @@ -// ignore_for_file: public_member_api_docs - import 'package:bloc/bloc.dart'; import 'package:equatable/equatable.dart'; import 'package:pinball_theme/pinball_theme.dart'; diff --git a/lib/select_character/cubit/character_theme_state.dart b/lib/select_character/cubit/character_theme_state.dart index 2f0f22ea..eb4f1279 100644 --- a/lib/select_character/cubit/character_theme_state.dart +++ b/lib/select_character/cubit/character_theme_state.dart @@ -1,5 +1,3 @@ -// ignore_for_file: public_member_api_docs - part of 'character_theme_cubit.dart'; class CharacterThemeState extends Equatable { diff --git a/packages/pinball_components/analysis_options.yaml b/packages/pinball_components/analysis_options.yaml index f8155aa6..eb141d0e 100644 --- a/packages/pinball_components/analysis_options.yaml +++ b/packages/pinball_components/analysis_options.yaml @@ -2,3 +2,6 @@ include: package:very_good_analysis/analysis_options.2.4.0.yaml analyzer: exclude: - lib/**/*.gen.dart +linter: + rules: + public_member_api_docs: false \ No newline at end of file diff --git a/packages/pinball_components/lib/src/components/android_bumper/android_bumper.dart b/packages/pinball_components/lib/src/components/android_bumper/android_bumper.dart index 7024f65c..5fd0c9fe 100644 --- a/packages/pinball_components/lib/src/components/android_bumper/android_bumper.dart +++ b/packages/pinball_components/lib/src/components/android_bumper/android_bumper.dart @@ -103,7 +103,6 @@ class AndroidBumper extends BodyComponent with InitialPosition, ZIndex { final double _minorRadius; - // ignore: public_member_api_docs final AndroidBumperCubit bloc; @override diff --git a/packages/pinball_components/lib/src/components/android_bumper/behaviors/android_bumper_ball_contact_behavior.dart b/packages/pinball_components/lib/src/components/android_bumper/behaviors/android_bumper_ball_contact_behavior.dart index d28aa39c..b89cf3cf 100644 --- a/packages/pinball_components/lib/src/components/android_bumper/behaviors/android_bumper_ball_contact_behavior.dart +++ b/packages/pinball_components/lib/src/components/android_bumper/behaviors/android_bumper_ball_contact_behavior.dart @@ -1,5 +1,3 @@ -// ignore_for_file: public_member_api_docs - import 'package:flame_forge2d/flame_forge2d.dart'; import 'package:pinball_components/pinball_components.dart'; import 'package:pinball_flame/pinball_flame.dart'; diff --git a/packages/pinball_components/lib/src/components/android_bumper/cubit/android_bumper_cubit.dart b/packages/pinball_components/lib/src/components/android_bumper/cubit/android_bumper_cubit.dart index 3e75f890..61ad9e5a 100644 --- a/packages/pinball_components/lib/src/components/android_bumper/cubit/android_bumper_cubit.dart +++ b/packages/pinball_components/lib/src/components/android_bumper/cubit/android_bumper_cubit.dart @@ -1,5 +1,3 @@ -// ignore_for_file: public_member_api_docs - import 'package:bloc/bloc.dart'; part 'android_bumper_state.dart'; diff --git a/packages/pinball_components/lib/src/components/android_bumper/cubit/android_bumper_state.dart b/packages/pinball_components/lib/src/components/android_bumper/cubit/android_bumper_state.dart index f101c3e9..a1177d23 100644 --- a/packages/pinball_components/lib/src/components/android_bumper/cubit/android_bumper_state.dart +++ b/packages/pinball_components/lib/src/components/android_bumper/cubit/android_bumper_state.dart @@ -1,5 +1,3 @@ -// ignore_for_file: public_member_api_docs - part of 'android_bumper_cubit.dart'; enum AndroidBumperState { diff --git a/packages/pinball_components/lib/src/components/android_spaceship/android_spaceship.dart b/packages/pinball_components/lib/src/components/android_spaceship/android_spaceship.dart index c4cacc00..b3c721a1 100644 --- a/packages/pinball_components/lib/src/components/android_spaceship/android_spaceship.dart +++ b/packages/pinball_components/lib/src/components/android_spaceship/android_spaceship.dart @@ -1,5 +1,3 @@ -// ignore_for_file: public_member_api_docs - import 'dart:async'; import 'dart:math' as math; diff --git a/packages/pinball_components/lib/src/components/android_spaceship/behaviors/android_spaceship_entrance_ball_contact_behavior.dart.dart b/packages/pinball_components/lib/src/components/android_spaceship/behaviors/android_spaceship_entrance_ball_contact_behavior.dart.dart index 58a8b3c3..de5ed1ff 100644 --- a/packages/pinball_components/lib/src/components/android_spaceship/behaviors/android_spaceship_entrance_ball_contact_behavior.dart.dart +++ b/packages/pinball_components/lib/src/components/android_spaceship/behaviors/android_spaceship_entrance_ball_contact_behavior.dart.dart @@ -1,5 +1,3 @@ -// ignore_for_file: public_member_api_docs - import 'package:flame_forge2d/flame_forge2d.dart'; import 'package:pinball_components/pinball_components.dart'; import 'package:pinball_flame/pinball_flame.dart'; diff --git a/packages/pinball_components/lib/src/components/android_spaceship/cubit/android_spaceship_cubit.dart b/packages/pinball_components/lib/src/components/android_spaceship/cubit/android_spaceship_cubit.dart index ad9de251..334c9cc3 100644 --- a/packages/pinball_components/lib/src/components/android_spaceship/cubit/android_spaceship_cubit.dart +++ b/packages/pinball_components/lib/src/components/android_spaceship/cubit/android_spaceship_cubit.dart @@ -1,5 +1,3 @@ -// ignore_for_file: public_member_api_docs - import 'package:bloc/bloc.dart'; part 'android_spaceship_state.dart'; diff --git a/packages/pinball_components/lib/src/components/android_spaceship/cubit/android_spaceship_state.dart b/packages/pinball_components/lib/src/components/android_spaceship/cubit/android_spaceship_state.dart index aae41c17..9375ebf2 100644 --- a/packages/pinball_components/lib/src/components/android_spaceship/cubit/android_spaceship_state.dart +++ b/packages/pinball_components/lib/src/components/android_spaceship/cubit/android_spaceship_state.dart @@ -1,5 +1,3 @@ -// ignore_for_file: public_member_api_docs - part of 'android_spaceship_cubit.dart'; enum AndroidSpaceshipState { diff --git a/packages/pinball_components/lib/src/components/ball/cubit/ball_cubit.dart b/packages/pinball_components/lib/src/components/ball/cubit/ball_cubit.dart index e3054e33..7d5c7dda 100644 --- a/packages/pinball_components/lib/src/components/ball/cubit/ball_cubit.dart +++ b/packages/pinball_components/lib/src/components/ball/cubit/ball_cubit.dart @@ -1,5 +1,3 @@ -// ignore_for_file: public_member_api_docs - import 'package:bloc/bloc.dart'; import 'package:equatable/equatable.dart'; import 'package:pinball_theme/pinball_theme.dart'; diff --git a/packages/pinball_components/lib/src/components/ball/cubit/ball_state.dart b/packages/pinball_components/lib/src/components/ball/cubit/ball_state.dart index 17a7aa9d..ea6009ab 100644 --- a/packages/pinball_components/lib/src/components/ball/cubit/ball_state.dart +++ b/packages/pinball_components/lib/src/components/ball/cubit/ball_state.dart @@ -1,5 +1,3 @@ -// ignore_for_file: public_member_api_docs - part of 'ball_cubit.dart'; class BallState extends Equatable { diff --git a/packages/pinball_components/lib/src/components/board_background_sprite_component.dart b/packages/pinball_components/lib/src/components/board_background_sprite_component.dart index e42c2aca..f1e3354c 100644 --- a/packages/pinball_components/lib/src/components/board_background_sprite_component.dart +++ b/packages/pinball_components/lib/src/components/board_background_sprite_component.dart @@ -1,5 +1,3 @@ -// ignore_for_file: public_member_api_docs - import 'package:flame/components.dart'; import 'package:pinball_components/pinball_components.dart'; import 'package:pinball_flame/pinball_flame.dart'; diff --git a/packages/pinball_components/lib/src/components/chrome_dino/chrome_dino.dart b/packages/pinball_components/lib/src/components/chrome_dino/chrome_dino.dart index b7358767..1de7b684 100644 --- a/packages/pinball_components/lib/src/components/chrome_dino/chrome_dino.dart +++ b/packages/pinball_components/lib/src/components/chrome_dino/chrome_dino.dart @@ -43,7 +43,6 @@ class ChromeDino extends BodyComponent required this.bloc, }); - // ignore: public_member_api_docs final ChromeDinoCubit bloc; /// Angle to rotate the dino up or down from the starting horizontal position. diff --git a/packages/pinball_components/lib/src/components/chrome_dino/cubit/chrome_dino_cubit.dart b/packages/pinball_components/lib/src/components/chrome_dino/cubit/chrome_dino_cubit.dart index 06e34199..551633e8 100644 --- a/packages/pinball_components/lib/src/components/chrome_dino/cubit/chrome_dino_cubit.dart +++ b/packages/pinball_components/lib/src/components/chrome_dino/cubit/chrome_dino_cubit.dart @@ -1,5 +1,3 @@ -// ignore_for_file: public_member_api_docs - import 'package:bloc/bloc.dart'; import 'package:equatable/equatable.dart'; import 'package:pinball_components/pinball_components.dart'; diff --git a/packages/pinball_components/lib/src/components/chrome_dino/cubit/chrome_dino_state.dart b/packages/pinball_components/lib/src/components/chrome_dino/cubit/chrome_dino_state.dart index 8ed6fa8c..c96d7406 100644 --- a/packages/pinball_components/lib/src/components/chrome_dino/cubit/chrome_dino_state.dart +++ b/packages/pinball_components/lib/src/components/chrome_dino/cubit/chrome_dino_state.dart @@ -1,5 +1,3 @@ -// ignore_for_file: public_member_api_docs - part of 'chrome_dino_cubit.dart'; enum ChromeDinoStatus { diff --git a/packages/pinball_components/lib/src/components/dash_nest_bumper/behaviors/dash_nest_bumper_contact_behavior.dart b/packages/pinball_components/lib/src/components/dash_nest_bumper/behaviors/dash_nest_bumper_contact_behavior.dart index 829229e4..934adef6 100644 --- a/packages/pinball_components/lib/src/components/dash_nest_bumper/behaviors/dash_nest_bumper_contact_behavior.dart +++ b/packages/pinball_components/lib/src/components/dash_nest_bumper/behaviors/dash_nest_bumper_contact_behavior.dart @@ -1,5 +1,3 @@ -// ignore_for_file: public_member_api_docs - import 'package:flame_forge2d/flame_forge2d.dart'; import 'package:pinball_components/pinball_components.dart'; import 'package:pinball_flame/pinball_flame.dart'; diff --git a/packages/pinball_components/lib/src/components/dash_nest_bumper/cubit/dash_nest_bumper_cubit.dart b/packages/pinball_components/lib/src/components/dash_nest_bumper/cubit/dash_nest_bumper_cubit.dart index 8fc6b157..04d511a4 100644 --- a/packages/pinball_components/lib/src/components/dash_nest_bumper/cubit/dash_nest_bumper_cubit.dart +++ b/packages/pinball_components/lib/src/components/dash_nest_bumper/cubit/dash_nest_bumper_cubit.dart @@ -1,5 +1,3 @@ -// ignore_for_file: public_member_api_docs - import 'package:bloc/bloc.dart'; part 'dash_nest_bumper_state.dart'; diff --git a/packages/pinball_components/lib/src/components/dash_nest_bumper/dash_nest_bumper.dart b/packages/pinball_components/lib/src/components/dash_nest_bumper/dash_nest_bumper.dart index b203d1f3..d657c485 100644 --- a/packages/pinball_components/lib/src/components/dash_nest_bumper/dash_nest_bumper.dart +++ b/packages/pinball_components/lib/src/components/dash_nest_bumper/dash_nest_bumper.dart @@ -98,7 +98,6 @@ class DashNestBumper extends BodyComponent with InitialPosition { final double _majorRadius; final double _minorRadius; - // ignore: public_member_api_docs final DashNestBumperCubit bloc; @override diff --git a/packages/pinball_components/lib/src/components/flapper/behaviors/flapper_spinning_behavior.dart b/packages/pinball_components/lib/src/components/flapper/behaviors/flapper_spinning_behavior.dart index 9a4e2a99..f6fea680 100644 --- a/packages/pinball_components/lib/src/components/flapper/behaviors/flapper_spinning_behavior.dart +++ b/packages/pinball_components/lib/src/components/flapper/behaviors/flapper_spinning_behavior.dart @@ -1,5 +1,3 @@ -// ignore_for_file: public_member_api_docs - import 'package:flame/components.dart'; import 'package:flame_forge2d/flame_forge2d.dart'; import 'package:pinball_components/pinball_components.dart'; diff --git a/packages/pinball_components/lib/src/components/google_letter/behaviors/google_letter_ball_contact_behavior.dart b/packages/pinball_components/lib/src/components/google_letter/behaviors/google_letter_ball_contact_behavior.dart index c3f0423e..84a210ef 100644 --- a/packages/pinball_components/lib/src/components/google_letter/behaviors/google_letter_ball_contact_behavior.dart +++ b/packages/pinball_components/lib/src/components/google_letter/behaviors/google_letter_ball_contact_behavior.dart @@ -1,5 +1,3 @@ -// ignore_for_file: public_member_api_docs - import 'package:flame_forge2d/flame_forge2d.dart'; import 'package:pinball_components/pinball_components.dart'; import 'package:pinball_flame/pinball_flame.dart'; diff --git a/packages/pinball_components/lib/src/components/google_letter/cubit/google_letter_cubit.dart b/packages/pinball_components/lib/src/components/google_letter/cubit/google_letter_cubit.dart index 9ef219ff..99b15702 100644 --- a/packages/pinball_components/lib/src/components/google_letter/cubit/google_letter_cubit.dart +++ b/packages/pinball_components/lib/src/components/google_letter/cubit/google_letter_cubit.dart @@ -1,5 +1,3 @@ -// ignore_for_file: public_member_api_docs - import 'package:bloc/bloc.dart'; part 'google_letter_state.dart'; diff --git a/packages/pinball_components/lib/src/components/google_letter/cubit/google_letter_state.dart b/packages/pinball_components/lib/src/components/google_letter/cubit/google_letter_state.dart index 1e5a29e8..12c7edd0 100644 --- a/packages/pinball_components/lib/src/components/google_letter/cubit/google_letter_state.dart +++ b/packages/pinball_components/lib/src/components/google_letter/cubit/google_letter_state.dart @@ -1,5 +1,3 @@ -// ignore_for_file: public_member_api_docs - part of 'google_letter_cubit.dart'; enum GoogleLetterState { diff --git a/packages/pinball_components/lib/src/components/google_letter/google_letter.dart b/packages/pinball_components/lib/src/components/google_letter/google_letter.dart index f447f6af..9d678e30 100644 --- a/packages/pinball_components/lib/src/components/google_letter/google_letter.dart +++ b/packages/pinball_components/lib/src/components/google_letter/google_letter.dart @@ -73,7 +73,6 @@ class GoogleLetter extends BodyComponent with InitialPosition { required this.bloc, }); - // ignore: public_member_api_docs final GoogleLetterCubit bloc; @override diff --git a/packages/pinball_components/lib/src/components/kicker/behaviors/kicker_ball_contact_behavior.dart b/packages/pinball_components/lib/src/components/kicker/behaviors/kicker_ball_contact_behavior.dart index d5d2eb6c..d05f61ae 100644 --- a/packages/pinball_components/lib/src/components/kicker/behaviors/kicker_ball_contact_behavior.dart +++ b/packages/pinball_components/lib/src/components/kicker/behaviors/kicker_ball_contact_behavior.dart @@ -1,5 +1,3 @@ -// ignore_for_file: public_member_api_docs - import 'package:flame_forge2d/flame_forge2d.dart'; import 'package:pinball_components/pinball_components.dart'; import 'package:pinball_flame/pinball_flame.dart'; diff --git a/packages/pinball_components/lib/src/components/kicker/cubit/kicker_cubit.dart b/packages/pinball_components/lib/src/components/kicker/cubit/kicker_cubit.dart index 488f4683..23282a22 100644 --- a/packages/pinball_components/lib/src/components/kicker/cubit/kicker_cubit.dart +++ b/packages/pinball_components/lib/src/components/kicker/cubit/kicker_cubit.dart @@ -1,5 +1,3 @@ -// ignore_for_file: public_member_api_docs - import 'package:bloc/bloc.dart'; part 'kicker_state.dart'; diff --git a/packages/pinball_components/lib/src/components/kicker/cubit/kicker_state.dart b/packages/pinball_components/lib/src/components/kicker/cubit/kicker_state.dart index 08d52709..590eb3dd 100644 --- a/packages/pinball_components/lib/src/components/kicker/cubit/kicker_state.dart +++ b/packages/pinball_components/lib/src/components/kicker/cubit/kicker_state.dart @@ -1,5 +1,3 @@ -// ignore_for_file: public_member_api_docs - part of 'kicker_cubit.dart'; enum KickerState { diff --git a/packages/pinball_components/lib/src/components/kicker/kicker.dart b/packages/pinball_components/lib/src/components/kicker/kicker.dart index 7bddd9eb..611f6032 100644 --- a/packages/pinball_components/lib/src/components/kicker/kicker.dart +++ b/packages/pinball_components/lib/src/components/kicker/kicker.dart @@ -57,7 +57,6 @@ class Kicker extends BodyComponent with InitialPosition { required BoardSide side, }) : _side = side; - // ignore: public_member_api_docs final KickerCubit bloc; @override @@ -172,7 +171,6 @@ class _KickerSpriteGroupComponent extends SpriteGroupComponent @override Future onLoad() async { await super.onLoad(); - // ignore: public_member_api_docs parent.bloc.stream.listen((state) => current = state); final sprites = { diff --git a/packages/pinball_components/lib/src/components/layer_sensor/behaviors/layer_filtering_behavior.dart b/packages/pinball_components/lib/src/components/layer_sensor/behaviors/layer_filtering_behavior.dart index 06dca4b6..24148848 100644 --- a/packages/pinball_components/lib/src/components/layer_sensor/behaviors/layer_filtering_behavior.dart +++ b/packages/pinball_components/lib/src/components/layer_sensor/behaviors/layer_filtering_behavior.dart @@ -1,5 +1,3 @@ -// ignore_for_file: public_member_api_docs - import 'package:flame_forge2d/flame_forge2d.dart'; import 'package:pinball_components/pinball_components.dart'; import 'package:pinball_flame/pinball_flame.dart'; diff --git a/packages/pinball_components/lib/src/components/layer_sensor/layer_sensor.dart b/packages/pinball_components/lib/src/components/layer_sensor/layer_sensor.dart index 68e0f076..6e0807f6 100644 --- a/packages/pinball_components/lib/src/components/layer_sensor/layer_sensor.dart +++ b/packages/pinball_components/lib/src/components/layer_sensor/layer_sensor.dart @@ -1,5 +1,3 @@ -// ignore_for_file: avoid_renaming_method_parameters, public_member_api_docs - import 'package:flame_forge2d/flame_forge2d.dart'; import 'package:pinball_components/pinball_components.dart'; import 'package:pinball_components/src/components/layer_sensor/behaviors/layer_filtering_behavior.dart'; diff --git a/packages/pinball_components/lib/src/components/multiball/cubit/multiball_cubit.dart b/packages/pinball_components/lib/src/components/multiball/cubit/multiball_cubit.dart index 9d943c9d..78e3aeb8 100644 --- a/packages/pinball_components/lib/src/components/multiball/cubit/multiball_cubit.dart +++ b/packages/pinball_components/lib/src/components/multiball/cubit/multiball_cubit.dart @@ -1,5 +1,3 @@ -// ignore_for_file: public_member_api_docs - import 'package:bloc/bloc.dart'; import 'package:equatable/equatable.dart'; diff --git a/packages/pinball_components/lib/src/components/multiball/cubit/multiball_state.dart b/packages/pinball_components/lib/src/components/multiball/cubit/multiball_state.dart index bbc66fd5..d1ce03d0 100644 --- a/packages/pinball_components/lib/src/components/multiball/cubit/multiball_state.dart +++ b/packages/pinball_components/lib/src/components/multiball/cubit/multiball_state.dart @@ -1,8 +1,5 @@ -// ignore_for_file: comment_references, public_member_api_docs - part of 'multiball_cubit.dart'; -/// Indicates the different sprite states for [MultiballSpriteGroupComponent]. enum MultiballLightState { lit, dimmed, diff --git a/packages/pinball_components/lib/src/components/multiball/multiball.dart b/packages/pinball_components/lib/src/components/multiball/multiball.dart index 8f75a901..38150aea 100644 --- a/packages/pinball_components/lib/src/components/multiball/multiball.dart +++ b/packages/pinball_components/lib/src/components/multiball/multiball.dart @@ -80,7 +80,6 @@ class Multiball extends Component { required this.bloc, }); - // ignore: public_member_api_docs final MultiballCubit bloc; @override diff --git a/packages/pinball_components/lib/src/components/multiplier/cubit/multiplier_cubit.dart b/packages/pinball_components/lib/src/components/multiplier/cubit/multiplier_cubit.dart index 1d265b2e..370fc572 100644 --- a/packages/pinball_components/lib/src/components/multiplier/cubit/multiplier_cubit.dart +++ b/packages/pinball_components/lib/src/components/multiplier/cubit/multiplier_cubit.dart @@ -1,5 +1,3 @@ -// ignore_for_file: public_member_api_docs - import 'package:bloc/bloc.dart'; import 'package:equatable/equatable.dart'; import 'package:pinball_components/pinball_components.dart'; diff --git a/packages/pinball_components/lib/src/components/multiplier/cubit/multiplier_state.dart b/packages/pinball_components/lib/src/components/multiplier/cubit/multiplier_state.dart index e3adde70..4dc404b1 100644 --- a/packages/pinball_components/lib/src/components/multiplier/cubit/multiplier_state.dart +++ b/packages/pinball_components/lib/src/components/multiplier/cubit/multiplier_state.dart @@ -1,5 +1,3 @@ -// ignore_for_file: public_member_api_docs - part of 'multiplier_cubit.dart'; enum MultiplierSpriteState { diff --git a/packages/pinball_components/lib/src/components/multiplier/multiplier.dart b/packages/pinball_components/lib/src/components/multiplier/multiplier.dart index f749f912..64e64375 100644 --- a/packages/pinball_components/lib/src/components/multiplier/multiplier.dart +++ b/packages/pinball_components/lib/src/components/multiplier/multiplier.dart @@ -1,5 +1,3 @@ -// ignore_for_file: public_member_api_docs - import 'package:flame/components.dart'; import 'package:flutter/material.dart'; import 'package:pinball_components/gen/assets.gen.dart'; diff --git a/packages/pinball_components/lib/src/components/score_component.dart b/packages/pinball_components/lib/src/components/score_component.dart index 5f95878a..0b9940aa 100644 --- a/packages/pinball_components/lib/src/components/score_component.dart +++ b/packages/pinball_components/lib/src/components/score_component.dart @@ -1,5 +1,3 @@ -// ignore_for_file: public_member_api_docs - import 'dart:async'; import 'package:flame/components.dart'; diff --git a/packages/pinball_components/lib/src/components/shapes/arc_shape.dart b/packages/pinball_components/lib/src/components/shapes/arc_shape.dart index 59519f0d..d58bdf1e 100644 --- a/packages/pinball_components/lib/src/components/shapes/arc_shape.dart +++ b/packages/pinball_components/lib/src/components/shapes/arc_shape.dart @@ -1,5 +1,3 @@ -// ignore_for_file: public_member_api_docs - import 'package:flame_forge2d/flame_forge2d.dart'; import 'package:geometry/geometry.dart'; diff --git a/packages/pinball_components/lib/src/components/shapes/bezier_curve_shape.dart b/packages/pinball_components/lib/src/components/shapes/bezier_curve_shape.dart index 0b4e8fef..5fcf9e08 100644 --- a/packages/pinball_components/lib/src/components/shapes/bezier_curve_shape.dart +++ b/packages/pinball_components/lib/src/components/shapes/bezier_curve_shape.dart @@ -1,5 +1,3 @@ -// ignore_for_file: public_member_api_docs - import 'package:flame/extensions.dart'; import 'package:flame_forge2d/flame_forge2d.dart'; import 'package:geometry/geometry.dart'; diff --git a/packages/pinball_components/lib/src/components/shapes/ellipse_shape.dart b/packages/pinball_components/lib/src/components/shapes/ellipse_shape.dart index 92898cad..488d3d6f 100644 --- a/packages/pinball_components/lib/src/components/shapes/ellipse_shape.dart +++ b/packages/pinball_components/lib/src/components/shapes/ellipse_shape.dart @@ -1,5 +1,3 @@ -// ignore_for_file: public_member_api_docs - import 'package:flame/extensions.dart'; import 'package:flame_forge2d/flame_forge2d.dart'; import 'package:geometry/geometry.dart'; diff --git a/packages/pinball_components/lib/src/components/signpost/cubit/signpost_cubit.dart b/packages/pinball_components/lib/src/components/signpost/cubit/signpost_cubit.dart index f94feebe..dc5bce9c 100644 --- a/packages/pinball_components/lib/src/components/signpost/cubit/signpost_cubit.dart +++ b/packages/pinball_components/lib/src/components/signpost/cubit/signpost_cubit.dart @@ -1,5 +1,3 @@ -// ignore_for_file: public_member_api_docs - import 'package:bloc/bloc.dart'; part 'signpost_state.dart'; diff --git a/packages/pinball_components/lib/src/components/signpost/cubit/signpost_state.dart b/packages/pinball_components/lib/src/components/signpost/cubit/signpost_state.dart index 72173bf1..3962207f 100644 --- a/packages/pinball_components/lib/src/components/signpost/cubit/signpost_state.dart +++ b/packages/pinball_components/lib/src/components/signpost/cubit/signpost_state.dart @@ -1,5 +1,3 @@ -// ignore_for_file: public_member_api_docs - part of 'signpost_cubit.dart'; enum SignpostState { diff --git a/packages/pinball_components/lib/src/components/signpost/signpost.dart b/packages/pinball_components/lib/src/components/signpost/signpost.dart index a8fffe79..115f1845 100644 --- a/packages/pinball_components/lib/src/components/signpost/signpost.dart +++ b/packages/pinball_components/lib/src/components/signpost/signpost.dart @@ -41,7 +41,6 @@ class Signpost extends BodyComponent with InitialPosition { required this.bloc, }); - // ignore: public_member_api_docs final SignpostCubit bloc; @override diff --git a/packages/pinball_components/lib/src/components/skill_shot/behaviors/skill_shot_ball_contact_behavior.dart b/packages/pinball_components/lib/src/components/skill_shot/behaviors/skill_shot_ball_contact_behavior.dart index 62e4185f..0227acf9 100644 --- a/packages/pinball_components/lib/src/components/skill_shot/behaviors/skill_shot_ball_contact_behavior.dart +++ b/packages/pinball_components/lib/src/components/skill_shot/behaviors/skill_shot_ball_contact_behavior.dart @@ -1,5 +1,3 @@ -// ignore_for_file: public_member_api_docs - import 'package:flame/components.dart'; import 'package:flame_forge2d/flame_forge2d.dart'; import 'package:pinball_components/pinball_components.dart'; diff --git a/packages/pinball_components/lib/src/components/skill_shot/cubit/skill_shot_cubit.dart b/packages/pinball_components/lib/src/components/skill_shot/cubit/skill_shot_cubit.dart index b9491385..453b2706 100644 --- a/packages/pinball_components/lib/src/components/skill_shot/cubit/skill_shot_cubit.dart +++ b/packages/pinball_components/lib/src/components/skill_shot/cubit/skill_shot_cubit.dart @@ -1,5 +1,3 @@ -// ignore_for_file: public_member_api_docs - import 'package:bloc/bloc.dart'; import 'package:equatable/equatable.dart'; diff --git a/packages/pinball_components/lib/src/components/skill_shot/cubit/skill_shot_state.dart b/packages/pinball_components/lib/src/components/skill_shot/cubit/skill_shot_state.dart index 1e040db6..a1fdd424 100644 --- a/packages/pinball_components/lib/src/components/skill_shot/cubit/skill_shot_state.dart +++ b/packages/pinball_components/lib/src/components/skill_shot/cubit/skill_shot_state.dart @@ -1,5 +1,3 @@ -// ignore_for_file: public_member_api_docs - part of 'skill_shot_cubit.dart'; enum SkillShotSpriteState { diff --git a/packages/pinball_components/lib/src/components/skill_shot/skill_shot.dart b/packages/pinball_components/lib/src/components/skill_shot/skill_shot.dart index 3daed592..a3ea2af2 100644 --- a/packages/pinball_components/lib/src/components/skill_shot/skill_shot.dart +++ b/packages/pinball_components/lib/src/components/skill_shot/skill_shot.dart @@ -43,7 +43,6 @@ class SkillShot extends BodyComponent with ZIndex { required this.bloc, }); - // ignore: public_member_api_docs final SkillShotCubit bloc; @override diff --git a/packages/pinball_components/lib/src/components/spaceship_ramp/behavior/ramp_ball_ascending_contact_behavior.dart b/packages/pinball_components/lib/src/components/spaceship_ramp/behavior/ramp_ball_ascending_contact_behavior.dart index 2d0aad7c..57895c45 100644 --- a/packages/pinball_components/lib/src/components/spaceship_ramp/behavior/ramp_ball_ascending_contact_behavior.dart +++ b/packages/pinball_components/lib/src/components/spaceship_ramp/behavior/ramp_ball_ascending_contact_behavior.dart @@ -1,5 +1,3 @@ -// ignore_for_file: public_member_api_docs - import 'package:flame_forge2d/flame_forge2d.dart'; import 'package:pinball_components/pinball_components.dart'; import 'package:pinball_flame/pinball_flame.dart'; diff --git a/packages/pinball_components/lib/src/components/spaceship_ramp/cubit/spaceship_ramp_cubit.dart b/packages/pinball_components/lib/src/components/spaceship_ramp/cubit/spaceship_ramp_cubit.dart index d27a7a2c..c3dc9e3e 100644 --- a/packages/pinball_components/lib/src/components/spaceship_ramp/cubit/spaceship_ramp_cubit.dart +++ b/packages/pinball_components/lib/src/components/spaceship_ramp/cubit/spaceship_ramp_cubit.dart @@ -1,5 +1,3 @@ -// ignore_for_file: public_member_api_docs - import 'package:bloc/bloc.dart'; import 'package:equatable/equatable.dart'; diff --git a/packages/pinball_components/lib/src/components/spaceship_ramp/cubit/spaceship_ramp_state.dart b/packages/pinball_components/lib/src/components/spaceship_ramp/cubit/spaceship_ramp_state.dart index 7fae894f..2979f05f 100644 --- a/packages/pinball_components/lib/src/components/spaceship_ramp/cubit/spaceship_ramp_state.dart +++ b/packages/pinball_components/lib/src/components/spaceship_ramp/cubit/spaceship_ramp_state.dart @@ -1,5 +1,3 @@ -// ignore_for_file: public_member_api_docs - part of 'spaceship_ramp_cubit.dart'; class SpaceshipRampState extends Equatable { diff --git a/packages/pinball_components/lib/src/components/spaceship_ramp/spaceship_ramp.dart b/packages/pinball_components/lib/src/components/spaceship_ramp/spaceship_ramp.dart index 8fb5200e..02095652 100644 --- a/packages/pinball_components/lib/src/components/spaceship_ramp/spaceship_ramp.dart +++ b/packages/pinball_components/lib/src/components/spaceship_ramp/spaceship_ramp.dart @@ -66,7 +66,6 @@ class SpaceshipRamp extends Component { required this.bloc, }) : super(); - // ignore: public_member_api_docs final SpaceshipRampCubit bloc; @override diff --git a/packages/pinball_components/lib/src/components/sparky_bumper/behaviors/sparky_bumper_ball_contact_behavior.dart b/packages/pinball_components/lib/src/components/sparky_bumper/behaviors/sparky_bumper_ball_contact_behavior.dart index 57db300c..bfdba4a0 100644 --- a/packages/pinball_components/lib/src/components/sparky_bumper/behaviors/sparky_bumper_ball_contact_behavior.dart +++ b/packages/pinball_components/lib/src/components/sparky_bumper/behaviors/sparky_bumper_ball_contact_behavior.dart @@ -1,5 +1,3 @@ -// ignore_for_file: public_member_api_docs - import 'package:flame_forge2d/flame_forge2d.dart'; import 'package:pinball_components/pinball_components.dart'; import 'package:pinball_flame/pinball_flame.dart'; diff --git a/packages/pinball_components/lib/src/components/sparky_bumper/cubit/sparky_bumper_cubit.dart b/packages/pinball_components/lib/src/components/sparky_bumper/cubit/sparky_bumper_cubit.dart index 2f7ba7c4..980aea43 100644 --- a/packages/pinball_components/lib/src/components/sparky_bumper/cubit/sparky_bumper_cubit.dart +++ b/packages/pinball_components/lib/src/components/sparky_bumper/cubit/sparky_bumper_cubit.dart @@ -1,5 +1,3 @@ -// ignore_for_file: public_member_api_docs - import 'package:bloc/bloc.dart'; part 'sparky_bumper_state.dart'; diff --git a/packages/pinball_components/lib/src/components/sparky_bumper/cubit/sparky_bumper_state.dart b/packages/pinball_components/lib/src/components/sparky_bumper/cubit/sparky_bumper_state.dart index 096af299..423d977c 100644 --- a/packages/pinball_components/lib/src/components/sparky_bumper/cubit/sparky_bumper_state.dart +++ b/packages/pinball_components/lib/src/components/sparky_bumper/cubit/sparky_bumper_state.dart @@ -1,5 +1,3 @@ -// ignore_for_file: public_member_api_docs - part of 'sparky_bumper_cubit.dart'; enum SparkyBumperState { diff --git a/packages/pinball_components/lib/src/components/sparky_bumper/sparky_bumper.dart b/packages/pinball_components/lib/src/components/sparky_bumper/sparky_bumper.dart index c4cb672a..b0e1b0c8 100644 --- a/packages/pinball_components/lib/src/components/sparky_bumper/sparky_bumper.dart +++ b/packages/pinball_components/lib/src/components/sparky_bumper/sparky_bumper.dart @@ -102,7 +102,6 @@ class SparkyBumper extends BodyComponent with InitialPosition, ZIndex { final double _majorRadius; final double _minorRadius; - // ignore: public_member_api_docs final SparkyBumperCubit bloc; @override @@ -148,7 +147,6 @@ class _SparkyBumperSpriteGroupComponent @override Future onLoad() async { await super.onLoad(); - // ignore: public_member_api_docs parent.bloc.stream.listen((state) => current = state); final sprites = { diff --git a/packages/pinball_components/lib/src/components/sparky_computer/cubit/sparky_computer_cubit.dart b/packages/pinball_components/lib/src/components/sparky_computer/cubit/sparky_computer_cubit.dart index e86defcd..49948961 100644 --- a/packages/pinball_components/lib/src/components/sparky_computer/cubit/sparky_computer_cubit.dart +++ b/packages/pinball_components/lib/src/components/sparky_computer/cubit/sparky_computer_cubit.dart @@ -1,5 +1,3 @@ -// ignore_for_file: public_member_api_docs - import 'package:bloc/bloc.dart'; part 'sparky_computer_state.dart'; diff --git a/packages/pinball_components/lib/src/components/sparky_computer/cubit/sparky_computer_state.dart b/packages/pinball_components/lib/src/components/sparky_computer/cubit/sparky_computer_state.dart index 372f1d15..0d5713b1 100644 --- a/packages/pinball_components/lib/src/components/sparky_computer/cubit/sparky_computer_state.dart +++ b/packages/pinball_components/lib/src/components/sparky_computer/cubit/sparky_computer_state.dart @@ -1,5 +1,3 @@ -// ignore_for_file: public_member_api_docs - part of 'sparky_computer_cubit.dart'; enum SparkyComputerState { diff --git a/packages/pinball_components/lib/src/components/sparky_computer/sparky_computer.dart b/packages/pinball_components/lib/src/components/sparky_computer/sparky_computer.dart index c96e3f45..c96c5007 100644 --- a/packages/pinball_components/lib/src/components/sparky_computer/sparky_computer.dart +++ b/packages/pinball_components/lib/src/components/sparky_computer/sparky_computer.dart @@ -37,7 +37,6 @@ class SparkyComputer extends BodyComponent { Iterable? children, }) : super(children: children); - // ignore: public_member_api_docs final SparkyComputerCubit bloc; @override diff --git a/packages/pinball_components/lib/src/components/z_indexes.dart b/packages/pinball_components/lib/src/components/z_indexes.dart index e9fb68c9..2fbcc3af 100644 --- a/packages/pinball_components/lib/src/components/z_indexes.dart +++ b/packages/pinball_components/lib/src/components/z_indexes.dart @@ -1,5 +1,3 @@ -// ignore_for_file: public_member_api_docs - /// Z-Indexes for the component rendering order in the pinball game. abstract class ZIndexes { static const _base = 0; diff --git a/packages/pinball_components/test/src/components/android_bumper/android_bumper_test.dart b/packages/pinball_components/test/src/components/android_bumper/android_bumper_test.dart index b6b99f32..52e196dc 100644 --- a/packages/pinball_components/test/src/components/android_bumper/android_bumper_test.dart +++ b/packages/pinball_components/test/src/components/android_bumper/android_bumper_test.dart @@ -44,7 +44,6 @@ void main() { expect(game.contains(androidBumper), isTrue); }); - // ignore: public_member_api_docs flameTester.test('closes bloc when removed', (game) async { final bloc = _MockAndroidBumperCubit(); whenListen( diff --git a/packages/pinball_components/test/src/components/android_spaceship/android_spaceship_test.dart b/packages/pinball_components/test/src/components/android_spaceship/android_spaceship_test.dart index 7e456a47..fff69b0a 100644 --- a/packages/pinball_components/test/src/components/android_spaceship/android_spaceship_test.dart +++ b/packages/pinball_components/test/src/components/android_spaceship/android_spaceship_test.dart @@ -70,7 +70,6 @@ void main() { }, ); - // ignore: public_member_api_docs flameTester.test('closes bloc when removed', (game) async { final bloc = _MockAndroidSpaceshipCubit(); whenListen( diff --git a/packages/pinball_components/test/src/components/chrome_dino/chrome_dino_test.dart b/packages/pinball_components/test/src/components/chrome_dino/chrome_dino_test.dart index 603f6ca0..a2e1c933 100644 --- a/packages/pinball_components/test/src/components/chrome_dino/chrome_dino_test.dart +++ b/packages/pinball_components/test/src/components/chrome_dino/chrome_dino_test.dart @@ -71,7 +71,6 @@ void main() { }, ); - // ignore: public_member_api_docs flameTester.test('closes bloc when removed', (game) async { final bloc = _MockChromeDinoCubit(); whenListen( diff --git a/packages/pinball_components/test/src/components/dash_nest_bumper/dash_nest_bumper_test.dart b/packages/pinball_components/test/src/components/dash_nest_bumper/dash_nest_bumper_test.dart index 0ee1d6b9..baf2132f 100644 --- a/packages/pinball_components/test/src/components/dash_nest_bumper/dash_nest_bumper_test.dart +++ b/packages/pinball_components/test/src/components/dash_nest_bumper/dash_nest_bumper_test.dart @@ -46,7 +46,6 @@ void main() { expect(game.contains(bumper), isTrue); }); - // ignore: public_member_api_docs flameTester.test('closes bloc when removed', (game) async { final bloc = _MockDashNestBumperCubit(); whenListen( diff --git a/packages/pinball_components/test/src/components/google_letter/google_letter_test.dart b/packages/pinball_components/test/src/components/google_letter/google_letter_test.dart index 3a459ddb..1ef5e7a7 100644 --- a/packages/pinball_components/test/src/components/google_letter/google_letter_test.dart +++ b/packages/pinball_components/test/src/components/google_letter/google_letter_test.dart @@ -102,7 +102,6 @@ void main() { expect(() => GoogleLetter(6), throwsA(isA())); }); - // ignore: public_member_api_docs flameTester.test('closes bloc when removed', (game) async { final bloc = _MockGoogleLetterCubit(); whenListen( diff --git a/packages/pinball_components/test/src/components/kicker_test.dart b/packages/pinball_components/test/src/components/kicker_test.dart index c91046ba..e347032a 100644 --- a/packages/pinball_components/test/src/components/kicker_test.dart +++ b/packages/pinball_components/test/src/components/kicker_test.dart @@ -61,7 +61,6 @@ void main() { }, ); - // ignore: public_member_api_docs flameTester.test('closes bloc when removed', (game) async { final bloc = _MockKickerCubit(); whenListen( diff --git a/packages/pinball_components/test/src/components/skill_shot/skill_shot_test.dart b/packages/pinball_components/test/src/components/skill_shot/skill_shot_test.dart index 4ec42a4b..beb159b8 100644 --- a/packages/pinball_components/test/src/components/skill_shot/skill_shot_test.dart +++ b/packages/pinball_components/test/src/components/skill_shot/skill_shot_test.dart @@ -29,7 +29,6 @@ void main() { expect(game.contains(skillShot), isTrue); }); - // ignore: public_member_api_docs flameTester.test('closes bloc when removed', (game) async { final bloc = _MockSkillShotCubit(); whenListen( diff --git a/packages/pinball_components/test/src/components/sparky_bumper/sparky_bumper_test.dart b/packages/pinball_components/test/src/components/sparky_bumper/sparky_bumper_test.dart index 65f0c647..45c55790 100644 --- a/packages/pinball_components/test/src/components/sparky_bumper/sparky_bumper_test.dart +++ b/packages/pinball_components/test/src/components/sparky_bumper/sparky_bumper_test.dart @@ -44,7 +44,6 @@ void main() { expect(game.contains(sparkyBumper), isTrue); }); - // ignore: public_member_api_docs flameTester.test('closes bloc when removed', (game) async { final bloc = _MockSparkyBumperCubit(); whenListen( diff --git a/packages/pinball_components/test/src/components/sparky_computer/sparky_computer_test.dart b/packages/pinball_components/test/src/components/sparky_computer/sparky_computer_test.dart index dcbccd3e..d15f8056 100644 --- a/packages/pinball_components/test/src/components/sparky_computer/sparky_computer_test.dart +++ b/packages/pinball_components/test/src/components/sparky_computer/sparky_computer_test.dart @@ -47,7 +47,6 @@ void main() { }, ); - // ignore: public_member_api_docs flameTester.test('closes bloc when removed', (game) async { final bloc = _MockSparkyComputerCubit(); whenListen( diff --git a/packages/pinball_flame/lib/src/canvas/canvas_wrapper.dart b/packages/pinball_flame/lib/src/canvas/canvas_wrapper.dart index 883527d2..3abe8c1c 100644 --- a/packages/pinball_flame/lib/src/canvas/canvas_wrapper.dart +++ b/packages/pinball_flame/lib/src/canvas/canvas_wrapper.dart @@ -1,9 +1,11 @@ -// ignore_for_file: public_member_api_docs - import 'dart:typed_data'; import 'dart:ui'; +/// {@template canvas_wrapper} +/// Custom [Canvas] implementation for Pinball +/// {@endtemplate} class CanvasWrapper implements Canvas { + /// [Canvas] used for painting operations late Canvas canvas; @override diff --git a/packages/pinball_flame/lib/src/flame_provider.dart b/packages/pinball_flame/lib/src/flame_provider.dart index 85a1004c..dcc6a5ae 100644 --- a/packages/pinball_flame/lib/src/flame_provider.dart +++ b/packages/pinball_flame/lib/src/flame_provider.dart @@ -1,21 +1,28 @@ -// ignore_for_file: public_member_api_docs - import 'package:bloc/bloc.dart'; import 'package:flame/components.dart'; import 'package:flame_bloc/flame_bloc.dart'; +/// {@template flame_provider} +/// Provider-style component, similar to Provider in Flutter, but used to +/// retrieve [Component] objects previously provided +/// {@endtemplate} class FlameProvider extends Component { + //// {@macro flame_provider} FlameProvider.value( this.provider, { Iterable? children, - }) : super( - children: children, - ); + }) : super(children: children); + /// The object that needs to be provided final T provider; } +//// {@template multi_flame_provider} +/// MultiProvider-style component, similar to MultiProvider in Flutter, +/// but used to retrieve more than one [Component] object previously provided +/// {@endtemplate} class MultiFlameProvider extends Component { + /// {@macro multi_flame_provider} MultiFlameProvider({ required List> providers, Iterable? children, @@ -54,7 +61,9 @@ class MultiFlameProvider extends Component { } } +/// Extended API on [Component] extension ReadFlameProvider on Component { + /// Retrieve an object of type [T] that was previously provided T readProvider() { final providers = ancestors().whereType>(); assert( @@ -64,9 +73,8 @@ extension ReadFlameProvider on Component { return providers.first.provider; } -} -extension ReadFlameBlocProvider on Component { + /// Retrieve a bloc [B] with state [S] previously provided B readBloc, S>() { final providers = ancestors().whereType>(); assert( diff --git a/packages/pinball_flame/lib/src/sprite_animation.dart b/packages/pinball_flame/lib/src/sprite_animation.dart index de39849f..60fd1c8b 100644 --- a/packages/pinball_flame/lib/src/sprite_animation.dart +++ b/packages/pinball_flame/lib/src/sprite_animation.dart @@ -1,5 +1,3 @@ -// ignore_for_file: public_member_api_docs - import 'dart:math'; import 'package:flame/components.dart'; @@ -20,6 +18,7 @@ class SpriteAnimationWidget extends StatelessWidget { /// The positioning [Anchor]. final Anchor anchor; + /// Controller in charge of the sprite animations final SpriteAnimationController controller; @override @@ -38,7 +37,11 @@ class SpriteAnimationWidget extends StatelessWidget { } } +/// {@template sprite_animation_controller} +/// Custom [AnimationController] that manages sprite assets +/// {@endtemplate} class SpriteAnimationController extends AnimationController { + /// {@macro sprite_animation_controller} SpriteAnimationController({ required TickerProvider vsync, required this.animation, @@ -46,6 +49,7 @@ class SpriteAnimationController extends AnimationController { duration = Duration(seconds: animation.totalDuration().ceil()); } + /// [SpriteAnimation] associated to this controller final SpriteAnimation animation; double? _lastUpdated; @@ -61,7 +65,11 @@ class SpriteAnimationController extends AnimationController { } } +/// {@template sprite_painter} +/// [CustomPainter] specialized in [Sprite] assets. +/// {@endtemplate} class SpritePainter extends CustomPainter { + /// {@macro sprite_painter} SpritePainter( this._sprite, this._anchor, { diff --git a/packages/pinball_ui/lib/src/theme/pinball_colors.dart b/packages/pinball_ui/lib/src/theme/pinball_colors.dart index d6029422..eb920129 100644 --- a/packages/pinball_ui/lib/src/theme/pinball_colors.dart +++ b/packages/pinball_ui/lib/src/theme/pinball_colors.dart @@ -1,17 +1,40 @@ -// ignore_for_file: public_member_api_docs import 'package:flutter/material.dart'; +/// Colors used in the application abstract class PinballColors { + /// Color: 0xFFFFFFFF static const Color white = Color(0xFFFFFFFF); + + /// Color: 0xFF0C32A4 static const Color darkBlue = Color(0xFF0C32A4); + + /// Color: 0xFFFFEE02 static const Color yellow = Color(0xFFFFEE02); + + /// Color: 0xFFE5AB05 static const Color orange = Color(0xFFE5AB05); + + /// Color: 0xFFF03939 static const Color red = Color(0xFFF03939); + + /// Color: 0xFF4B94F6 static const Color blue = Color(0xFF4B94F6); + + /// Color: 0x00000000 static const Color transparent = Color(0x00000000); + + /// Color: 0xFFE33B2D static const Color loadingDarkRed = Color(0xFFE33B2D); + + /// Color: 0xFFEC5E2B static const Color loadingLightRed = Color(0xFFEC5E2B); + + /// Color: 0xFF4087F8 static const Color loadingDarkBlue = Color(0xFF4087F8); + + /// Color: 0xFF6CCAE4 static const Color loadingLightBlue = Color(0xFF6CCAE4); + + /// Color: 0xFF274E54 static const Color crtBackground = Color(0xFF274E54); } diff --git a/packages/pinball_ui/lib/src/theme/pinball_text_style.dart b/packages/pinball_ui/lib/src/theme/pinball_text_style.dart index 18968680..8319fc1c 100644 --- a/packages/pinball_ui/lib/src/theme/pinball_text_style.dart +++ b/packages/pinball_ui/lib/src/theme/pinball_text_style.dart @@ -1,5 +1,3 @@ -// ignore_for_file: public_member_api_docs - import 'package:flutter/widgets.dart'; import 'package:pinball_ui/gen/fonts.gen.dart'; import 'package:pinball_ui/pinball_ui.dart'; @@ -7,7 +5,9 @@ import 'package:pinball_ui/pinball_ui.dart'; const _fontPackage = 'pinball_components'; const _primaryFontFamily = FontFamily.pixeloidSans; +/// Different [TextStyle] used in the game abstract class PinballTextStyle { + /// Font size: 28 | Color: white static const headline1 = TextStyle( fontSize: 28, package: _fontPackage, @@ -15,6 +15,7 @@ abstract class PinballTextStyle { color: PinballColors.white, ); + /// Font size: 24 | Color: white static const headline2 = TextStyle( fontSize: 24, package: _fontPackage, @@ -22,6 +23,7 @@ abstract class PinballTextStyle { color: PinballColors.white, ); + /// Font size: 20 | Color: darkBlue static const headline3 = TextStyle( color: PinballColors.darkBlue, fontSize: 20, @@ -30,6 +32,7 @@ abstract class PinballTextStyle { fontWeight: FontWeight.bold, ); + /// Font size: 16 | Color: white static const headline4 = TextStyle( color: PinballColors.white, fontSize: 16, @@ -37,6 +40,7 @@ abstract class PinballTextStyle { fontFamily: _primaryFontFamily, ); + /// Font size: 214| Color: white static const headline5 = TextStyle( color: PinballColors.white, fontSize: 14, @@ -44,13 +48,7 @@ abstract class PinballTextStyle { fontFamily: _primaryFontFamily, ); - static const subtitle2 = TextStyle( - color: PinballColors.white, - fontSize: 16, - package: _fontPackage, - fontFamily: _primaryFontFamily, - ); - + /// Font size: 12 | Color: white static const subtitle1 = TextStyle( fontSize: 12, fontFamily: _primaryFontFamily, diff --git a/packages/pinball_ui/lib/src/theme/pinball_theme.dart b/packages/pinball_ui/lib/src/theme/pinball_theme.dart index 43322391..cc08ec9d 100644 --- a/packages/pinball_ui/lib/src/theme/pinball_theme.dart +++ b/packages/pinball_ui/lib/src/theme/pinball_theme.dart @@ -18,7 +18,6 @@ class PinballTheme { headline4: PinballTextStyle.headline4, headline5: PinballTextStyle.headline5, subtitle1: PinballTextStyle.subtitle1, - subtitle2: PinballTextStyle.subtitle2, ); } } diff --git a/packages/pinball_ui/test/src/theme/pinball_text_style_test.dart b/packages/pinball_ui/test/src/theme/pinball_text_style_test.dart index 72cd66a6..ed1f1cb6 100644 --- a/packages/pinball_ui/test/src/theme/pinball_text_style_test.dart +++ b/packages/pinball_ui/test/src/theme/pinball_text_style_test.dart @@ -31,11 +31,5 @@ void main() { expect(style.fontSize, 12); expect(style.color, PinballColors.yellow); }); - - test('subtitle2 has fontSize 16 and white color', () { - const style = PinballTextStyle.subtitle2; - expect(style.fontSize, 16); - expect(style.color, PinballColors.white); - }); }); } diff --git a/packages/pinball_ui/test/src/theme/pinball_theme_test.dart b/packages/pinball_ui/test/src/theme/pinball_theme_test.dart index 915927f8..7eda2c1d 100644 --- a/packages/pinball_ui/test/src/theme/pinball_theme_test.dart +++ b/packages/pinball_ui/test/src/theme/pinball_theme_test.dart @@ -78,21 +78,6 @@ void main() { PinballTextStyle.subtitle1.fontFamily, ); }); - - test('subtitle2 matches PinballTextStyle#subtitle2', () { - expect( - PinballTheme.standard.textTheme.subtitle2!.fontSize, - PinballTextStyle.subtitle2.fontSize, - ); - expect( - PinballTheme.standard.textTheme.subtitle2!.color, - PinballTextStyle.subtitle2.color, - ); - expect( - PinballTheme.standard.textTheme.subtitle2!.fontFamily, - PinballTextStyle.subtitle2.fontFamily, - ); - }); }); }); } From 95a35cf1c8cc902969fcee6947b0f6128c5ac126 Mon Sep 17 00:00:00 2001 From: Jorge Coca Date: Sat, 7 May 2022 09:44:48 -0500 Subject: [PATCH 2/3] fix: character selection order (#383) --- .../view/character_selection_page.dart | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/lib/select_character/view/character_selection_page.dart b/lib/select_character/view/character_selection_page.dart index 1f7b0374..2355d6cc 100644 --- a/lib/select_character/view/character_selection_page.dart +++ b/lib/select_character/view/character_selection_page.dart @@ -69,9 +69,9 @@ class _CharacterGrid extends StatelessWidget { child: Column( children: [ _Character( - key: const Key('sparky_character_selection'), - character: const SparkyTheme(), - isSelected: state.isSparkySelected, + key: const Key('dash_character_selection'), + character: const DashTheme(), + isSelected: state.isDashSelected, ), const SizedBox(height: 6), _Character( @@ -87,9 +87,9 @@ class _CharacterGrid extends StatelessWidget { child: Column( children: [ _Character( - key: const Key('dash_character_selection'), - character: const DashTheme(), - isSelected: state.isDashSelected, + key: const Key('sparky_character_selection'), + character: const SparkyTheme(), + isSelected: state.isSparkySelected, ), const SizedBox(height: 6), _Character( From 6b67525716fe398182134ccab457d2ed9c57bdc0 Mon Sep 17 00:00:00 2001 From: Alejandro Santiago Date: Sat, 7 May 2022 16:39:55 +0100 Subject: [PATCH 3/3] fix: flying ball when entering SpaceshipRamp (#380) --- .../lib/src/components/components.dart | 1 - .../components/layer_sensor/layer_sensor.dart | 1 + .../spaceship_ramp/spaceship_ramp.dart | 128 ++++++++++++++---- .../android_acres/android_spaceship_game.dart | 1 + .../android_acres/spaceship_rail_game.dart | 1 + .../android_acres/spaceship_ramp_game.dart | 4 + .../lib/stories/ball/basic_ball_game.dart | 1 + .../stories/launch_ramp/launch_ramp_game.dart | 1 + .../sandbox/lib/stories/layer/layer_game.dart | 1 + .../test/src/components/ball/ball_test.dart | 1 + .../layer_filtering_behavior_test.dart | 1 + .../layer_sensor/layer_sensor_test.dart | 1 + packages/pinball_flame/lib/pinball_flame.dart | 3 +- .../lib/src/behaviors/behaviors.dart | 3 + .../src/{ => behaviors}/contact_behavior.dart | 0 .../src/behaviors/layer_contact_behavior.dart | 20 +++ .../behaviors/z_index_contact_behavior.dart | 20 +++ .../lib/src}/layer.dart | 0 .../test}/layer_test.dart | 35 ++--- .../contact_behavior_test.dart | 0 .../layer_contact_behavior_test.dart | 60 ++++++++ .../z_index_contact_behavior_test.dart | 60 ++++++++ 22 files changed, 300 insertions(+), 43 deletions(-) create mode 100644 packages/pinball_flame/lib/src/behaviors/behaviors.dart rename packages/pinball_flame/lib/src/{ => behaviors}/contact_behavior.dart (100%) create mode 100644 packages/pinball_flame/lib/src/behaviors/layer_contact_behavior.dart create mode 100644 packages/pinball_flame/lib/src/behaviors/z_index_contact_behavior.dart rename packages/{pinball_components/lib/src/components => pinball_flame/lib/src}/layer.dart (100%) rename packages/{pinball_components/test/src/components => pinball_flame/test}/layer_test.dart (82%) rename packages/pinball_flame/test/src/{ => behaviors}/contact_behavior_test.dart (100%) create mode 100644 packages/pinball_flame/test/src/behaviors/layer_contact_behavior_test.dart create mode 100644 packages/pinball_flame/test/src/behaviors/z_index_contact_behavior_test.dart diff --git a/packages/pinball_components/lib/src/components/components.dart b/packages/pinball_components/lib/src/components/components.dart index 54345772..7fda6272 100644 --- a/packages/pinball_components/lib/src/components/components.dart +++ b/packages/pinball_components/lib/src/components/components.dart @@ -21,7 +21,6 @@ export 'initial_position.dart'; export 'joint_anchor.dart'; export 'kicker/kicker.dart'; export 'launch_ramp.dart'; -export 'layer.dart'; export 'layer_sensor/layer_sensor.dart'; export 'multiball/multiball.dart'; export 'multiplier/multiplier.dart'; diff --git a/packages/pinball_components/lib/src/components/layer_sensor/layer_sensor.dart b/packages/pinball_components/lib/src/components/layer_sensor/layer_sensor.dart index 6e0807f6..dc43322c 100644 --- a/packages/pinball_components/lib/src/components/layer_sensor/layer_sensor.dart +++ b/packages/pinball_components/lib/src/components/layer_sensor/layer_sensor.dart @@ -1,6 +1,7 @@ import 'package:flame_forge2d/flame_forge2d.dart'; import 'package:pinball_components/pinball_components.dart'; import 'package:pinball_components/src/components/layer_sensor/behaviors/layer_filtering_behavior.dart'; +import 'package:pinball_flame/pinball_flame.dart'; /// {@template layer_entrance_orientation} /// Determines if a layer entrance is oriented [up] or [down] on the board. diff --git a/packages/pinball_components/lib/src/components/spaceship_ramp/spaceship_ramp.dart b/packages/pinball_components/lib/src/components/spaceship_ramp/spaceship_ramp.dart index 02095652..0796be92 100644 --- a/packages/pinball_components/lib/src/components/spaceship_ramp/spaceship_ramp.dart +++ b/packages/pinball_components/lib/src/components/spaceship_ramp/spaceship_ramp.dart @@ -32,12 +32,6 @@ class SpaceshipRamp extends Component { RampBallAscendingContactBehavior(), ], )..initialPosition = Vector2(1.7, -20.4), - _SpaceshipRampOpening( - outsidePriority: ZIndexes.ballOnBoard, - rotation: math.pi, - ) - ..initialPosition = Vector2(1.7, -19.8) - ..layer = Layer.opening, _SpaceshipRampOpening( outsideLayer: Layer.spaceship, outsidePriority: ZIndexes.ballOnSpaceship, @@ -46,10 +40,9 @@ class SpaceshipRamp extends Component { ..initialPosition = Vector2(-13.7, -18.6) ..layer = Layer.spaceshipEntranceRamp, _SpaceshipRampBackground(), - _SpaceshipRampBoardOpeningSpriteComponent() - ..position = Vector2(3.4, -39.5), + _SpaceshipRampBoardOpening()..initialPosition = Vector2(3.4, -39.5), _SpaceshipRampForegroundRailing(), - _SpaceshipRampBase()..initialPosition = Vector2(1.7, -20), + _SpaceshipRampBase()..initialPosition = Vector2(3.4, -42.5), _SpaceshipRampBackgroundRailingSpriteComponent(), SpaceshipRampArrowSpriteComponent( current: bloc.state.hits, @@ -253,12 +246,103 @@ extension on SpaceshipRampArrowSpriteState { } } -class _SpaceshipRampBoardOpeningSpriteComponent extends SpriteComponent - with HasGameRef, ZIndex { - _SpaceshipRampBoardOpeningSpriteComponent() : super(anchor: Anchor.center) { +class _SpaceshipRampBoardOpening extends BodyComponent + with Layered, ZIndex, InitialPosition { + _SpaceshipRampBoardOpening() + : super( + renderBody: false, + children: [ + _SpaceshipRampBoardOpeningSpriteComponent(), + LayerContactBehavior(layer: Layer.spaceshipEntranceRamp) + ..applyTo(['inside']), + LayerContactBehavior(layer: Layer.board)..applyTo(['outside']), + ZIndexContactBehavior(zIndex: ZIndexes.ballOnBoard) + ..applyTo(['outside']), + ZIndexContactBehavior(zIndex: ZIndexes.ballOnSpaceshipRamp) + ..applyTo(['middle', 'inside']), + ], + ) { zIndex = ZIndexes.spaceshipRampBoardOpening; + layer = Layer.opening; } + List _createFixtureDefs() { + final topEdge = EdgeShape() + ..set( + Vector2(-3.4, -1.2), + Vector2(3.4, -1.6), + ); + final bottomEdge = EdgeShape() + ..set( + Vector2(-6.2, 1.5), + Vector2(6.2, 1.5), + ); + final middleCurve = BezierCurveShape( + controlPoints: [ + topEdge.vertex1, + Vector2(0, 2.3), + Vector2(7.5, 2.3), + topEdge.vertex2, + ], + ); + final leftCurve = BezierCurveShape( + controlPoints: [ + Vector2(-4.4, -1.2), + Vector2(-4.65, 0), + bottomEdge.vertex1, + ], + ); + final rightCurve = BezierCurveShape( + controlPoints: [ + Vector2(4.4, -1.6), + Vector2(4.65, 0), + bottomEdge.vertex2, + ], + ); + + const outsideKey = 'outside'; + return [ + FixtureDef( + topEdge, + isSensor: true, + userData: 'inside', + ), + FixtureDef( + bottomEdge, + isSensor: true, + userData: outsideKey, + ), + FixtureDef( + middleCurve, + isSensor: true, + userData: 'middle', + ), + FixtureDef( + leftCurve, + isSensor: true, + userData: outsideKey, + ), + FixtureDef( + rightCurve, + isSensor: true, + userData: outsideKey, + ), + ]; + } + + @override + Body createBody() { + final bodyDef = BodyDef(position: initialPosition); + final body = world.createBody(bodyDef); + _createFixtureDefs().forEach(body.createFixture); + return body; + } +} + +class _SpaceshipRampBoardOpeningSpriteComponent extends SpriteComponent + with HasGameRef { + _SpaceshipRampBoardOpeningSpriteComponent() : super(anchor: Anchor.center); + @override Future onLoad() async { await super.onLoad(); @@ -342,28 +426,23 @@ class _SpaceshipRampForegroundRailingSpriteComponent extends SpriteComponent } } -class _SpaceshipRampBase extends BodyComponent with InitialPosition, Layered { +class _SpaceshipRampBase extends BodyComponent with Layered, InitialPosition { _SpaceshipRampBase() : super(renderBody: false) { layer = Layer.board; } @override Body createBody() { - const baseWidth = 9; - final baseShape = BezierCurveShape( + final shape = BezierCurveShape( controlPoints: [ - Vector2(initialPosition.x - baseWidth / 2, initialPosition.y), - Vector2(initialPosition.x - baseWidth / 2, initialPosition.y) + - Vector2(2, -5), - Vector2(initialPosition.x + baseWidth / 2, initialPosition.y) + - Vector2(-2, -5), - Vector2(initialPosition.x + baseWidth / 2, initialPosition.y) + Vector2(-4.25, 1.75), + Vector2(-2, -2.1), + Vector2(2, -2.3), + Vector2(4.1, 1.5), ], ); - final fixtureDef = FixtureDef(baseShape); final bodyDef = BodyDef(position: initialPosition); - - return world.createBody(bodyDef)..createFixture(fixtureDef); + return world.createBody(bodyDef)..createFixtureFromShape(shape); } } @@ -419,7 +498,6 @@ class RampScoringSensor extends BodyComponent } /// Creates a [RampScoringSensor] without any children. - /// @visibleForTesting RampScoringSensor.test(); diff --git a/packages/pinball_components/sandbox/lib/stories/android_acres/android_spaceship_game.dart b/packages/pinball_components/sandbox/lib/stories/android_acres/android_spaceship_game.dart index 976f4894..185f5351 100644 --- a/packages/pinball_components/sandbox/lib/stories/android_acres/android_spaceship_game.dart +++ b/packages/pinball_components/sandbox/lib/stories/android_acres/android_spaceship_game.dart @@ -2,6 +2,7 @@ import 'dart:async'; import 'package:flame/input.dart'; import 'package:pinball_components/pinball_components.dart'; +import 'package:pinball_flame/pinball_flame.dart'; import 'package:sandbox/stories/ball/basic_ball_game.dart'; class AndroidSpaceshipGame extends BallGame { diff --git a/packages/pinball_components/sandbox/lib/stories/android_acres/spaceship_rail_game.dart b/packages/pinball_components/sandbox/lib/stories/android_acres/spaceship_rail_game.dart index 4093ad33..9acee409 100644 --- a/packages/pinball_components/sandbox/lib/stories/android_acres/spaceship_rail_game.dart +++ b/packages/pinball_components/sandbox/lib/stories/android_acres/spaceship_rail_game.dart @@ -2,6 +2,7 @@ import 'dart:async'; import 'package:flame/input.dart'; import 'package:pinball_components/pinball_components.dart'; +import 'package:pinball_flame/pinball_flame.dart'; import 'package:sandbox/stories/ball/basic_ball_game.dart'; class SpaceshipRailGame extends BallGame { diff --git a/packages/pinball_components/sandbox/lib/stories/android_acres/spaceship_ramp_game.dart b/packages/pinball_components/sandbox/lib/stories/android_acres/spaceship_ramp_game.dart index fe4e6dae..1027002a 100644 --- a/packages/pinball_components/sandbox/lib/stories/android_acres/spaceship_ramp_game.dart +++ b/packages/pinball_components/sandbox/lib/stories/android_acres/spaceship_ramp_game.dart @@ -4,6 +4,7 @@ import 'package:flame/input.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:pinball_components/pinball_components.dart'; +import 'package:pinball_flame/pinball_flame.dart'; import 'package:sandbox/stories/ball/basic_ball_game.dart'; class SpaceshipRampGame extends BallGame with KeyboardEvents { @@ -33,6 +34,9 @@ class SpaceshipRampGame extends BallGame with KeyboardEvents { - Press space to progress arrow sprites. '''; + @override + Color backgroundColor() => Colors.white; + late final SpaceshipRamp _spaceshipRamp; @override diff --git a/packages/pinball_components/sandbox/lib/stories/ball/basic_ball_game.dart b/packages/pinball_components/sandbox/lib/stories/ball/basic_ball_game.dart index f3ba50f3..b5e29a8e 100644 --- a/packages/pinball_components/sandbox/lib/stories/ball/basic_ball_game.dart +++ b/packages/pinball_components/sandbox/lib/stories/ball/basic_ball_game.dart @@ -1,5 +1,6 @@ import 'package:flame/input.dart'; import 'package:pinball_components/pinball_components.dart'; +import 'package:pinball_flame/pinball_flame.dart'; import 'package:pinball_theme/pinball_theme.dart' as theme; import 'package:sandbox/common/common.dart'; diff --git a/packages/pinball_components/sandbox/lib/stories/launch_ramp/launch_ramp_game.dart b/packages/pinball_components/sandbox/lib/stories/launch_ramp/launch_ramp_game.dart index b6955a26..c1d435d5 100644 --- a/packages/pinball_components/sandbox/lib/stories/launch_ramp/launch_ramp_game.dart +++ b/packages/pinball_components/sandbox/lib/stories/launch_ramp/launch_ramp_game.dart @@ -2,6 +2,7 @@ import 'dart:async'; import 'package:flame/input.dart'; import 'package:pinball_components/pinball_components.dart'; +import 'package:pinball_flame/pinball_flame.dart'; import 'package:sandbox/stories/ball/basic_ball_game.dart'; class LaunchRampGame extends BallGame { diff --git a/packages/pinball_components/sandbox/lib/stories/layer/layer_game.dart b/packages/pinball_components/sandbox/lib/stories/layer/layer_game.dart index 40dcc824..808a43eb 100644 --- a/packages/pinball_components/sandbox/lib/stories/layer/layer_game.dart +++ b/packages/pinball_components/sandbox/lib/stories/layer/layer_game.dart @@ -2,6 +2,7 @@ import 'package:flame/input.dart'; import 'package:flame_forge2d/flame_forge2d.dart'; import 'package:flutter/material.dart'; import 'package:pinball_components/pinball_components.dart'; +import 'package:pinball_flame/pinball_flame.dart'; import 'package:sandbox/stories/ball/basic_ball_game.dart'; class LayerGame extends BallGame with TapDetector { diff --git a/packages/pinball_components/test/src/components/ball/ball_test.dart b/packages/pinball_components/test/src/components/ball/ball_test.dart index 43454342..9bf0bf27 100644 --- a/packages/pinball_components/test/src/components/ball/ball_test.dart +++ b/packages/pinball_components/test/src/components/ball/ball_test.dart @@ -5,6 +5,7 @@ import 'package:flame_forge2d/flame_forge2d.dart'; import 'package:flame_test/flame_test.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:pinball_components/pinball_components.dart'; +import 'package:pinball_flame/pinball_flame.dart'; import 'package:pinball_theme/pinball_theme.dart' as theme; import '../../../helpers/helpers.dart'; diff --git a/packages/pinball_components/test/src/components/layer_sensor/behavior/layer_filtering_behavior_test.dart b/packages/pinball_components/test/src/components/layer_sensor/behavior/layer_filtering_behavior_test.dart index b7bc308b..b8701656 100644 --- a/packages/pinball_components/test/src/components/layer_sensor/behavior/layer_filtering_behavior_test.dart +++ b/packages/pinball_components/test/src/components/layer_sensor/behavior/layer_filtering_behavior_test.dart @@ -6,6 +6,7 @@ import 'package:flutter_test/flutter_test.dart'; import 'package:mocktail/mocktail.dart'; import 'package:pinball_components/pinball_components.dart'; import 'package:pinball_components/src/components/layer_sensor/behaviors/behaviors.dart'; +import 'package:pinball_flame/pinball_flame.dart'; import '../../../../helpers/helpers.dart'; diff --git a/packages/pinball_components/test/src/components/layer_sensor/layer_sensor_test.dart b/packages/pinball_components/test/src/components/layer_sensor/layer_sensor_test.dart index dd32ad56..2966b106 100644 --- a/packages/pinball_components/test/src/components/layer_sensor/layer_sensor_test.dart +++ b/packages/pinball_components/test/src/components/layer_sensor/layer_sensor_test.dart @@ -4,6 +4,7 @@ import 'package:flame_test/flame_test.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:pinball_components/pinball_components.dart'; import 'package:pinball_components/src/components/layer_sensor/behaviors/behaviors.dart'; +import 'package:pinball_flame/pinball_flame.dart'; import '../../../helpers/helpers.dart'; diff --git a/packages/pinball_flame/lib/pinball_flame.dart b/packages/pinball_flame/lib/pinball_flame.dart index 38f09b59..bc3cae0e 100644 --- a/packages/pinball_flame/lib/pinball_flame.dart +++ b/packages/pinball_flame/lib/pinball_flame.dart @@ -1,10 +1,11 @@ library pinball_flame; +export 'src/behaviors/behaviors.dart'; export 'src/canvas/canvas.dart'; export 'src/component_controller.dart'; -export 'src/contact_behavior.dart'; export 'src/flame_provider.dart'; export 'src/keyboard_input_controller.dart'; +export 'src/layer.dart'; export 'src/parent_is_a.dart'; export 'src/pinball_forge2d_game.dart'; export 'src/sprite_animation.dart'; diff --git a/packages/pinball_flame/lib/src/behaviors/behaviors.dart b/packages/pinball_flame/lib/src/behaviors/behaviors.dart new file mode 100644 index 00000000..fa80c97f --- /dev/null +++ b/packages/pinball_flame/lib/src/behaviors/behaviors.dart @@ -0,0 +1,3 @@ +export 'contact_behavior.dart'; +export 'layer_contact_behavior.dart'; +export 'z_index_contact_behavior.dart'; diff --git a/packages/pinball_flame/lib/src/contact_behavior.dart b/packages/pinball_flame/lib/src/behaviors/contact_behavior.dart similarity index 100% rename from packages/pinball_flame/lib/src/contact_behavior.dart rename to packages/pinball_flame/lib/src/behaviors/contact_behavior.dart diff --git a/packages/pinball_flame/lib/src/behaviors/layer_contact_behavior.dart b/packages/pinball_flame/lib/src/behaviors/layer_contact_behavior.dart new file mode 100644 index 00000000..a73b94a5 --- /dev/null +++ b/packages/pinball_flame/lib/src/behaviors/layer_contact_behavior.dart @@ -0,0 +1,20 @@ +import 'package:flame_forge2d/flame_forge2d.dart'; +import 'package:pinball_flame/pinball_flame.dart'; + +/// {@template layer_contact_behavior} +/// Switches the [Layer] of any [Layered] body that contacts with it. +/// {@endtemplate} +class LayerContactBehavior extends ContactBehavior { + /// {@macro layer_contact_behavior} + LayerContactBehavior({required Layer layer}) : _layer = layer; + + final Layer _layer; + + @override + void beginContact(Object other, Contact contact) { + super.beginContact(other, contact); + if (other is! Layered) return; + if (other.layer == _layer) return; + other.layer = _layer; + } +} diff --git a/packages/pinball_flame/lib/src/behaviors/z_index_contact_behavior.dart b/packages/pinball_flame/lib/src/behaviors/z_index_contact_behavior.dart new file mode 100644 index 00000000..ea9bfcad --- /dev/null +++ b/packages/pinball_flame/lib/src/behaviors/z_index_contact_behavior.dart @@ -0,0 +1,20 @@ +import 'package:flame_forge2d/flame_forge2d.dart'; +import 'package:pinball_flame/pinball_flame.dart'; + +/// {@template layer_contact_behavior} +/// Switches the z-index of any [ZIndex] body that contacts with it. +/// {@endtemplate} +class ZIndexContactBehavior extends ContactBehavior { + /// {@macro layer_contact_behavior} + ZIndexContactBehavior({required int zIndex}) : _zIndex = zIndex; + + final int _zIndex; + + @override + void beginContact(Object other, Contact contact) { + super.beginContact(other, contact); + if (other is! ZIndex) return; + if (other.zIndex == _zIndex) return; + other.zIndex = _zIndex; + } +} diff --git a/packages/pinball_components/lib/src/components/layer.dart b/packages/pinball_flame/lib/src/layer.dart similarity index 100% rename from packages/pinball_components/lib/src/components/layer.dart rename to packages/pinball_flame/lib/src/layer.dart diff --git a/packages/pinball_components/test/src/components/layer_test.dart b/packages/pinball_flame/test/layer_test.dart similarity index 82% rename from packages/pinball_components/test/src/components/layer_test.dart rename to packages/pinball_flame/test/layer_test.dart index d47702ea..93ab29a6 100644 --- a/packages/pinball_components/test/src/components/layer_test.dart +++ b/packages/pinball_flame/test/layer_test.dart @@ -4,9 +4,9 @@ import 'dart:math' as math; import 'package:flame_forge2d/flame_forge2d.dart'; import 'package:flame_test/flame_test.dart'; import 'package:flutter_test/flutter_test.dart'; -import 'package:pinball_components/pinball_components.dart'; +import 'package:pinball_flame/pinball_flame.dart'; -class TestLayeredBodyComponent extends BodyComponent with Layered { +class _TestLayeredBodyComponent extends BodyComponent with Layered { @override Body createBody() { final fixtureDef = FixtureDef(CircleShape()); @@ -14,7 +14,7 @@ class TestLayeredBodyComponent extends BodyComponent with Layered { } } -class TestBodyComponent extends BodyComponent { +class _TestBodyComponent extends BodyComponent { @override Body createBody() { final fixtureDef = FixtureDef(CircleShape()); @@ -41,12 +41,12 @@ void main() { } flameTester.test('TestBodyComponent has fixtures', (game) async { - final component = TestBodyComponent(); + final component = _TestBodyComponent(); await game.ensureAdd(component); }); test('correctly sets and gets', () { - final component = TestLayeredBodyComponent() + final component = _TestLayeredBodyComponent() ..layer = Layer.spaceshipEntranceRamp; expect(component.layer, Layer.spaceshipEntranceRamp); }); @@ -55,7 +55,7 @@ void main() { 'layers correctly before being loaded', (game) async { const expectedLayer = Layer.spaceshipEntranceRamp; - final component = TestLayeredBodyComponent()..layer = expectedLayer; + final component = _TestLayeredBodyComponent()..layer = expectedLayer; await game.ensureAdd(component); _expectLayerOnFixtures( @@ -70,7 +70,7 @@ void main() { 'when multiple different sets', (game) async { const expectedLayer = Layer.launcher; - final component = TestLayeredBodyComponent() + final component = _TestLayeredBodyComponent() ..layer = Layer.spaceshipEntranceRamp; expect(component.layer, isNot(equals(expectedLayer))); @@ -89,7 +89,7 @@ void main() { 'layers correctly after being loaded', (game) async { const expectedLayer = Layer.spaceshipEntranceRamp; - final component = TestLayeredBodyComponent(); + final component = _TestLayeredBodyComponent(); await game.ensureAdd(component); component.layer = expectedLayer; _expectLayerOnFixtures( @@ -104,7 +104,7 @@ void main() { 'when multiple different sets', (game) async { const expectedLayer = Layer.launcher; - final component = TestLayeredBodyComponent(); + final component = _TestLayeredBodyComponent(); await game.ensureAdd(component); component.layer = Layer.spaceshipEntranceRamp; @@ -122,7 +122,7 @@ void main() { 'defaults to Layer.all ' 'when no layer is given', (game) async { - final component = TestLayeredBodyComponent(); + final component = _TestLayeredBodyComponent(); await game.ensureAdd(component); expect(component.layer, equals(Layer.all)); }, @@ -134,15 +134,18 @@ void main() { const parentLayer = Layer.spaceshipEntranceRamp; const childLayer = Layer.board; - final component = TestLayeredBodyComponent()..layer = parentLayer; - final childComponent = TestLayeredBodyComponent()..layer = childLayer; + final component = _TestLayeredBodyComponent()..layer = parentLayer; + final childComponent = _TestLayeredBodyComponent()..layer = childLayer; await component.add(childComponent); await game.ensureAdd(component); expect(childLayer, isNot(equals(parentLayer))); for (final child in component.children) { - expect((child as TestLayeredBodyComponent).layer, equals(childLayer)); + expect( + (child as _TestLayeredBodyComponent).layer, + equals(childLayer), + ); } }, ); @@ -152,15 +155,15 @@ void main() { (game) async { const parentLayer = Layer.spaceshipEntranceRamp; - final component = TestLayeredBodyComponent()..layer = parentLayer; - final childComponent = TestBodyComponent(); + final component = _TestLayeredBodyComponent()..layer = parentLayer; + final childComponent = _TestBodyComponent(); await component.add(childComponent); await game.ensureAdd(component); for (final child in component.children) { expect( - (child as TestBodyComponent) + (child as _TestBodyComponent) .body .fixtures .first diff --git a/packages/pinball_flame/test/src/contact_behavior_test.dart b/packages/pinball_flame/test/src/behaviors/contact_behavior_test.dart similarity index 100% rename from packages/pinball_flame/test/src/contact_behavior_test.dart rename to packages/pinball_flame/test/src/behaviors/contact_behavior_test.dart diff --git a/packages/pinball_flame/test/src/behaviors/layer_contact_behavior_test.dart b/packages/pinball_flame/test/src/behaviors/layer_contact_behavior_test.dart new file mode 100644 index 00000000..49040977 --- /dev/null +++ b/packages/pinball_flame/test/src/behaviors/layer_contact_behavior_test.dart @@ -0,0 +1,60 @@ +// ignore_for_file: cascade_invocations + +import 'package:flame_forge2d/flame_forge2d.dart'; +import 'package:flame_test/flame_test.dart'; +import 'package:flutter_test/flutter_test.dart'; +import 'package:mocktail/mocktail.dart'; +import 'package:pinball_flame/pinball_flame.dart'; + +class _TestBodyComponent extends BodyComponent { + @override + Body createBody() { + final shape = CircleShape()..radius = 1; + return world.createBody(BodyDef())..createFixtureFromShape(shape); + } +} + +class _TestLayeredBodyComponent extends _TestBodyComponent with Layered { + _TestLayeredBodyComponent({required Layer layer}) { + layer = layer; + } +} + +class _MockContact extends Mock implements Contact {} + +void main() { + TestWidgetsFlutterBinding.ensureInitialized(); + final flameTester = FlameTester(Forge2DGame.new); + + group('LayerContactBehavior', () { + test('can be instantiated', () { + expect( + LayerContactBehavior(layer: Layer.all), + isA(), + ); + }); + + flameTester.test('can be loaded', (game) async { + final behavior = LayerContactBehavior(layer: Layer.all); + final parent = _TestBodyComponent(); + await game.ensureAdd(parent); + await parent.ensureAdd(behavior); + expect(parent.children, contains(behavior)); + }); + + flameTester.test('beginContact changes layer', (game) async { + const oldLayer = Layer.all; + const newLayer = Layer.board; + final behavior = LayerContactBehavior(layer: newLayer); + final parent = _TestBodyComponent(); + await game.ensureAdd(parent); + await parent.ensureAdd(behavior); + + final component = _TestLayeredBodyComponent(layer: oldLayer); + + behavior.beginContact(component, _MockContact()); + + expect(component.layer, newLayer); + }); + }); +} diff --git a/packages/pinball_flame/test/src/behaviors/z_index_contact_behavior_test.dart b/packages/pinball_flame/test/src/behaviors/z_index_contact_behavior_test.dart new file mode 100644 index 00000000..ad09004c --- /dev/null +++ b/packages/pinball_flame/test/src/behaviors/z_index_contact_behavior_test.dart @@ -0,0 +1,60 @@ +// ignore_for_file: cascade_invocations + +import 'package:flame_forge2d/flame_forge2d.dart'; +import 'package:flame_test/flame_test.dart'; +import 'package:flutter_test/flutter_test.dart'; +import 'package:mocktail/mocktail.dart'; +import 'package:pinball_flame/pinball_flame.dart'; + +class _TestBodyComponent extends BodyComponent { + @override + Body createBody() { + final shape = CircleShape()..radius = 1; + return world.createBody(BodyDef())..createFixtureFromShape(shape); + } +} + +class _TestZIndexBodyComponent extends _TestBodyComponent with ZIndex { + _TestZIndexBodyComponent({required int zIndex}) { + zIndex = zIndex; + } +} + +class _MockContact extends Mock implements Contact {} + +void main() { + TestWidgetsFlutterBinding.ensureInitialized(); + final flameTester = FlameTester(Forge2DGame.new); + + group('ZIndexContactBehavior', () { + test('can be instantiated', () { + expect( + ZIndexContactBehavior(zIndex: 0), + isA(), + ); + }); + + flameTester.test('can be loaded', (game) async { + final behavior = ZIndexContactBehavior(zIndex: 0); + final parent = _TestBodyComponent(); + await game.ensureAdd(parent); + await parent.ensureAdd(behavior); + expect(parent.children, contains(behavior)); + }); + + flameTester.test('beginContact changes zIndex', (game) async { + const oldIndex = 0; + const newIndex = 1; + final behavior = ZIndexContactBehavior(zIndex: newIndex); + final parent = _TestBodyComponent(); + await game.ensureAdd(parent); + await parent.ensureAdd(behavior); + + final component = _TestZIndexBodyComponent(zIndex: oldIndex); + + behavior.beginContact(component, _MockContact()); + + expect(component.zIndex, newIndex); + }); + }); +}