From 43da33d71e7d99b5475a7602be487dbb9e2c4079 Mon Sep 17 00:00:00 2001 From: Lukas Klingsbo Date: Sun, 9 Apr 2023 16:26:31 +0200 Subject: [PATCH 1/6] Continue at L --- packages/flame_lint/lib/analysis_options.yaml | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/packages/flame_lint/lib/analysis_options.yaml b/packages/flame_lint/lib/analysis_options.yaml index 91dd6ad7dd..8fa70c3c52 100644 --- a/packages/flame_lint/lib/analysis_options.yaml +++ b/packages/flame_lint/lib/analysis_options.yaml @@ -12,6 +12,7 @@ linter: rules: - always_declare_return_types - always_put_control_body_on_new_line + - always_put_required_named_parameters_first - always_require_non_null_named_parameters - always_use_package_imports - annotate_overrides @@ -26,17 +27,23 @@ linter: - avoid_final_parameters - avoid_init_to_null - avoid_js_rounded_ints + - avoid_multiple_declarations_per_line - avoid_null_checks_in_equality_operators + - avoid_positional_boolean_parameters - avoid_print - avoid_private_typedef_functions - avoid_redundant_argument_values - avoid_relative_lib_imports + - avoid_renaming_method_parameters - avoid_return_types_on_setters + - avoid_returning_null_for_void + - avoid_returning_this - avoid_shadowing_type_parameters - avoid_single_cascade_in_expression_statements - avoid_slow_async_io - avoid_type_to_string - avoid_types_as_parameter_names + - avoid_unnecessary_containers - avoid_unused_constructor_parameters - avoid_void_async - await_only_futures @@ -45,6 +52,7 @@ linter: - cancel_subscriptions - cast_nullable_to_non_nullable - close_sinks + - collection_methods_unrelated_type - comment_references - constant_identifier_names - control_flow_in_finally @@ -56,6 +64,7 @@ linter: - empty_catches - empty_constructor_bodies - empty_statements + - enable_null_safety - exhaustive_cases - file_names - flutter_style_todos @@ -63,6 +72,7 @@ linter: - implementation_imports - iterable_contains_unrelated_type - join_return_with_assignment + - leading_newlines_in_multiline_strings - library_names - library_prefixes - lines_longer_than_80_chars From 401d5d8918acfc7416152e5e27c1875b736f88e2 Mon Sep 17 00:00:00 2001 From: Lukas Klingsbo Date: Mon, 10 Apr 2023 14:21:02 +0200 Subject: [PATCH 2/6] Add the rest of the wanted rules --- packages/flame_lint/lib/analysis_options.yaml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/packages/flame_lint/lib/analysis_options.yaml b/packages/flame_lint/lib/analysis_options.yaml index 8fa70c3c52..3eac1fe71c 100644 --- a/packages/flame_lint/lib/analysis_options.yaml +++ b/packages/flame_lint/lib/analysis_options.yaml @@ -75,12 +75,15 @@ linter: - leading_newlines_in_multiline_strings - library_names - library_prefixes + - library_private_types_in_public_api - lines_longer_than_80_chars - list_remove_unrelated_type - literal_only_boolean_expressions - missing_whitespace_between_adjacent_strings - no_adjacent_strings_in_list - no_duplicate_case_values + - no_leading_underscores_for_library_prefixes + - no_leading_underscores_for_local_identifiers - no_runtimeType_toString - non_constant_identifier_names - noop_primitive_operations @@ -92,6 +95,7 @@ linter: - parameter_assignments - prefer_adjacent_string_concatenation - prefer_asserts_in_initializer_lists + - prefer_asserts_with_message - prefer_collection_literals - prefer_conditional_assignment - prefer_const_constructors @@ -117,6 +121,7 @@ linter: - prefer_is_not_empty - prefer_is_not_operator - prefer_iterable_whereType + - prefer_null_aware_method_calls - prefer_null_aware_operators - prefer_single_quotes - prefer_spread_collections @@ -131,6 +136,7 @@ linter: - sort_unnamed_constructors_first - test_types_in_equals - throw_in_finally + - tighten_type_of_initializing_formals - type_annotate_public_apis - type_init_formals - unnecessary_await_in_return @@ -139,6 +145,7 @@ linter: - unnecessary_constructor_name - unnecessary_getters_setters - unnecessary_lambdas + - unnecessary_late - unnecessary_new - unnecessary_null_aware_assignments - unnecessary_null_checks @@ -164,7 +171,9 @@ linter: - use_named_constants - use_raw_strings - use_rethrow_when_possible + - use_setters_to_change_properties - use_super_parameters - use_test_throws_matchers + - use_to_and_as_if_applicable - valid_regexps - void_checks From 3bf70c725cd92d24238080b84d040fc65e58282e Mon Sep 17 00:00:00 2001 From: Lukas Klingsbo Date: Mon, 10 Apr 2023 18:31:19 +0200 Subject: [PATCH 3/6] Fix linting warnings --- doc/flame/examples/lib/drag_events.dart | 12 ++--- doc/flame/examples/lib/ember.dart | 2 +- doc/flame/examples/lib/router.dart | 4 +- doc/flame/examples/lib/tap_events.dart | 12 ++--- .../app/lib/step3/components/card.dart | 14 ++--- .../klondike/app/lib/step3/rank.dart | 2 +- .../klondike/app/lib/step3/suit.dart | 2 +- .../app/lib/step4/components/card.dart | 14 ++--- .../klondike/app/lib/step4/rank.dart | 2 +- .../klondike/app/lib/step4/suit.dart | 2 +- .../platformer/app/lib/ember_quest.dart | 6 +-- .../app/lib/overlays/game_over.dart | 2 +- .../app/lib/overlays/main_menu.dart | 2 +- examples/games/padracing/lib/lap_line.dart | 2 +- examples/games/padracing/lib/menu.dart | 6 +-- examples/games/padracing/lib/menu_card.dart | 2 +- .../games/padracing/lib/padracing_game.dart | 6 +-- .../lib/components/bullet_component.dart | 7 ++- .../lib/components/player_component.dart | 7 ++- .../rogue_shooter/lib/rogue_shooter_game.dart | 4 +- examples/games/trex/lib/background/cloud.dart | 4 +- .../games/trex/lib/background/horizon.dart | 6 +-- examples/games/trex/lib/game_over.dart | 16 +++--- .../trex/lib/obstacle/obstacle_type.dart | 2 +- examples/lib/commons/commons.dart | 4 +- .../audio/basic_audio_example.dart | 4 +- .../flame_isolate/simple_isolate_example.dart | 4 +- .../forge2d/animated_body_example.dart | 6 +-- .../forge2d/blob_example.dart | 6 +-- .../forge2d/camera_example.dart | 4 +- .../forge2d/contact_callbacks_example.dart | 6 +-- .../forge2d/domino_example.dart | 6 +-- .../forge2d/joints/constant_volume_joint.dart | 6 +-- .../forge2d/joints/distance_joint.dart | 6 +-- .../forge2d/joints/friction_joint.dart | 4 +- .../forge2d/joints/motor_joint.dart | 4 +- .../forge2d/joints/mouse_joint.dart | 6 +-- .../forge2d/joints/revolute_joint.dart | 6 +-- .../revolute_joint_with_motor_example.dart | 6 +-- .../forge2d/sprite_body_example.dart | 6 +-- .../bridge_libraries/forge2d/utils/balls.dart | 6 +-- .../camera_component_example.dart | 28 +++++----- .../coordinate_systems_example.dart | 18 +++---- .../fixed_resolution_example.dart | 4 +- .../follow_component_example.dart | 4 +- .../multiple_shapes_example.dart | 10 ++-- .../components_notifier_example.dart | 2 +- .../stories/components/look_at_example.dart | 6 +-- .../components/look_at_smooth_example.dart | 6 +-- .../stories/components/priority_example.dart | 2 +- .../input/double_tap_callbacks_example.dart | 6 +-- .../input/gesture_hitboxes_example.dart | 6 +-- .../input/joystick_advanced_example.dart | 6 +-- .../input/multitap_advanced_example.dart | 3 +- .../stories/rendering/particles_example.dart | 5 +- .../fixed_aspect_ratio_viewport.dart | 6 +-- .../camera/viewports/fixed_size_viewport.dart | 3 +- .../src/camera/viewports/max_viewport.dart | 6 +-- .../src/collisions/broadphase/broadphase.dart | 6 +-- .../quadtree/quad_tree_broadphase.dart | 10 ++-- .../broadphase/quadtree/quadtree.dart | 53 +++++++++++-------- .../collisions/hitboxes/circle_hitbox.dart | 2 +- .../collisions/hitboxes/polygon_hitbox.dart | 2 +- .../collisions/hitboxes/rectangle_hitbox.dart | 2 +- .../collisions/hitboxes/screen_hitbox.dart | 6 +-- .../lib/src/components/core/component.dart | 2 + .../components/input/button_component.dart | 6 +-- .../input/hud_margin_component.dart | 4 +- .../components/input/joystick_component.dart | 8 +-- .../isometric_tile_map_component.dart | 11 ++-- .../lib/src/components/mixins/has_paint.dart | 16 +++--- .../mixins/single_child_particle.dart | 4 +- .../components/nine_tile_box_component.dart | 4 +- .../lib/src/components/router_component.dart | 8 +-- .../src/components/text_box_component.dart | 25 ++++----- .../flame/lib/src/components/value_route.dart | 2 +- .../flame/lib/src/effects/glow_effect.dart | 4 +- .../lib/src/effects/sequence_effect.dart | 11 ++-- .../experimental/geometry/shapes/polygon.dart | 10 ++-- .../experimental/geometry/shapes/shape.dart | 12 ++--- .../lib/src/game/camera/camera_wrapper.dart | 10 ++-- .../flame/lib/src/game/camera/viewport.dart | 10 ++-- packages/flame/lib/src/game/flame_game.dart | 10 ++-- .../flame/lib/src/game/game_render_box.dart | 19 +++---- .../lib/src/game/game_widget/game_widget.dart | 4 +- .../flame/lib/src/game/notifying_vector2.dart | 8 +-- .../flame/lib/src/game/overlay_manager.dart | 6 +-- packages/flame/lib/src/image_composition.dart | 10 ++-- packages/flame/lib/src/parallax.dart | 2 +- .../lib/src/particles/circle_particle.dart | 4 +- .../lib/src/particles/composed_particle.dart | 4 +- .../lib/src/particles/moving_particle.dart | 10 ++-- .../flame/lib/src/particles/particle.dart | 4 +- .../src/particles/translated_particle.dart | 10 ++-- packages/flame/lib/src/sprite.dart | 4 +- packages/flame/lib/src/sprite_animation.dart | 4 +- packages/flame/lib/src/sprite_batch.dart | 12 ++--- .../flame/lib/src/text/nodes/column_node.dart | 4 +- .../widgets/components_notifier_builder.dart | 2 +- .../flame/lib/src/widgets/sprite_painter.dart | 8 +-- .../flame/lib/src/widgets/sprite_widget.dart | 10 ++-- .../test/components/fps_component_test.dart | 10 ++-- .../components/position_component_test.dart | 18 +++---- .../test/effects/opacity_effect_test.dart | 26 ++++----- .../test/effects/sequence_effect_test.dart | 18 ++++--- .../has_tappable_components_test.dart | 2 +- packages/flame/test/game/flame_game_test.dart | 6 ++- .../flame/test/game/game_render_box_test.dart | 6 +-- .../game/game_widget/game_widget_test.dart | 6 +-- .../test/rendering/paint_decorator_test.dart | 2 +- packages/flame_audio/example/lib/main.dart | 4 +- packages/flame_audio/lib/audio_pool.dart | 9 ++-- packages/flame_audio/lib/flame_audio.dart | 4 +- .../lib/src/game/components/bullet.dart | 4 +- .../lib/src/game/components/player.dart | 4 +- .../lib/src/flame_bloc_listenable.dart | 4 +- .../lib/src/flame_bloc_listener.dart | 2 +- .../lib/src/flame_multi_bloc_provider.dart | 8 +-- .../src/flame_multi_bloc_provider_test.dart | 3 +- .../flame_fire_atlas/example/lib/main.dart | 4 +- .../lib/flame_fire_atlas.dart | 8 +-- packages/flame_flare/example/lib/main.dart | 16 +++--- .../flame_flare/lib/src/flare_animation.dart | 3 +- .../flame_flare/lib/src/flare_particle.dart | 2 +- .../lib/world_contact_listener.dart | 4 +- .../example/lib/brains/worker_overmind.dart | 6 +-- .../example/lib/standard/int_vector2.dart | 3 +- .../example/lib/units/actions/movable.dart | 1 + .../jenny/lib/src/command_storage.dart | 2 + .../jenny/lib/src/parse/tokenize.dart | 3 +- .../lib/src/structure/commands/command.dart | 4 +- .../lib/src/structure/dialogue_choice.dart | 4 +- .../lib/src/structure/dialogue_line.dart | 4 +- .../src/structure/expressions/literal.dart | 1 + .../jenny/test/command_storage_test.dart | 29 +++++----- .../structure/commands/wait_command_test.dart | 3 +- .../flame_jenny/jenny/test/test_scenario.dart | 8 +-- packages/flame_lint/lib/analysis_options.yaml | 1 - .../flame_oxygen/lib/src/oxygen_game.dart | 4 +- packages/flame_rive/example/lib/main.dart | 4 +- .../flame_rive/lib/src/rive_component.dart | 3 +- .../src/widgets/panels/hierarchy_view.dart | 4 +- .../src/widgets/toolbar/toolbar_button.dart | 20 +++---- packages/flame_svg/lib/svg.dart | 12 ++--- packages/flame_test/lib/src/flame_test.dart | 8 +-- .../lib/src/renderable_tile_map.dart | 6 +-- .../flame_tiled/lib/src/simple_flips.dart | 10 ++-- packages/flame_tiled/lib/src/tile_atlas.dart | 4 +- .../flame_tiled/lib/src/tiled_component.dart | 6 +-- packages/flame_tiled/test/tiled_test.dart | 17 +++--- 150 files changed, 556 insertions(+), 496 deletions(-) diff --git a/doc/flame/examples/lib/drag_events.dart b/doc/flame/examples/lib/drag_events.dart index 5290b16d77..4965752a4f 100644 --- a/doc/flame/examples/lib/drag_events.dart +++ b/doc/flame/examples/lib/drag_events.dart @@ -58,13 +58,13 @@ class DragTarget extends PositionComponent with DragCallbacks { final Map _trails = {}; @override - void onGameResize(Vector2 canvasSize) { - super.onGameResize(canvasSize); - size = canvasSize - Vector2(100, 75); - if (size.x < 100 || size.y < 100) { - size = canvasSize * 0.9; + void onGameResize(Vector2 size) { + super.onGameResize(size); + this.size = size - Vector2(100, 75); + if (this.size.x < 100 || this.size.y < 100) { + this.size = size * 0.9; } - position = canvasSize / 2; + position = size / 2; } @override diff --git a/doc/flame/examples/lib/ember.dart b/doc/flame/examples/lib/ember.dart index badaba081c..ffb1ac246b 100644 --- a/doc/flame/examples/lib/ember.dart +++ b/doc/flame/examples/lib/ember.dart @@ -5,9 +5,9 @@ import 'package:flame/flame.dart'; class EmberPlayer extends SpriteAnimationComponent with TapCallbacks { EmberPlayer({ - void Function(EmberPlayer)? onTap, required super.position, required super.size, + void Function(EmberPlayer)? onTap, }) : _onTap = onTap, super(); diff --git a/doc/flame/examples/lib/router.dart b/doc/flame/examples/lib/router.dart index ca5fb5a837..f11e930f9f 100644 --- a/doc/flame/examples/lib/router.dart +++ b/doc/flame/examples/lib/router.dart @@ -373,8 +373,8 @@ class PauseRoute extends Route { } @override - void onPop(Route previousRoute) { - previousRoute + void onPop(Route nextRoute) { + nextRoute ..resumeTime() ..removeRenderEffect(); } diff --git a/doc/flame/examples/lib/tap_events.dart b/doc/flame/examples/lib/tap_events.dart index e207c1cf80..8cfbad1c67 100644 --- a/doc/flame/examples/lib/tap_events.dart +++ b/doc/flame/examples/lib/tap_events.dart @@ -24,13 +24,13 @@ class TapTarget extends PositionComponent with TapCallbacks { final Map _circles = {}; @override - void onGameResize(Vector2 canvasSize) { - super.onGameResize(canvasSize); - size = canvasSize - Vector2(100, 75); - if (size.x < 100 || size.y < 100) { - size = canvasSize * 0.9; + void onGameResize(Vector2 size) { + super.onGameResize(size); + this.size = size - Vector2(100, 75); + if (this.size.x < 100 || this.size.y < 100) { + this.size = size * 0.9; } - position = canvasSize / 2; + position = size / 2; } @override diff --git a/doc/tutorials/klondike/app/lib/step3/components/card.dart b/doc/tutorials/klondike/app/lib/step3/components/card.dart index bddddf3857..ad008cd9e6 100644 --- a/doc/tutorials/klondike/app/lib/step3/components/card.dart +++ b/doc/tutorials/klondike/app/lib/step3/components/card.dart @@ -47,7 +47,7 @@ class Card extends PositionComponent { const Radius.circular(KlondikeGame.cardRadius), ); static final RRect backRRectInner = cardRRect.deflate(40); - static late final Sprite flameSprite = klondikeSprite(1367, 6, 357, 501); + static final Sprite flameSprite = klondikeSprite(1367, 6, 357, 501); void _renderBack(Canvas canvas) { canvas.drawRRect(cardRRect, backBackgroundPaint); @@ -71,14 +71,14 @@ class Card extends PositionComponent { Color(0x880d8bff), BlendMode.srcATop, ); - static late final Sprite redJack = klondikeSprite(81, 565, 562, 488); - static late final Sprite redQueen = klondikeSprite(717, 541, 486, 515); - static late final Sprite redKing = klondikeSprite(1305, 532, 407, 549); - static late final Sprite blackJack = klondikeSprite(81, 565, 562, 488) + static final Sprite redJack = klondikeSprite(81, 565, 562, 488); + static final Sprite redQueen = klondikeSprite(717, 541, 486, 515); + static final Sprite redKing = klondikeSprite(1305, 532, 407, 549); + static final Sprite blackJack = klondikeSprite(81, 565, 562, 488) ..paint = blueFilter; - static late final Sprite blackQueen = klondikeSprite(717, 541, 486, 515) + static final Sprite blackQueen = klondikeSprite(717, 541, 486, 515) ..paint = blueFilter; - static late final Sprite blackKing = klondikeSprite(1305, 532, 407, 549) + static final Sprite blackKing = klondikeSprite(1305, 532, 407, 549) ..paint = blueFilter; void _renderFront(Canvas canvas) { diff --git a/doc/tutorials/klondike/app/lib/step3/rank.dart b/doc/tutorials/klondike/app/lib/step3/rank.dart index 2af952405e..7a00f04606 100644 --- a/doc/tutorials/klondike/app/lib/step3/rank.dart +++ b/doc/tutorials/klondike/app/lib/step3/rank.dart @@ -29,7 +29,7 @@ class Rank { final Sprite redSprite; final Sprite blackSprite; - static late final List _singletons = [ + static final List _singletons = [ Rank._(1, 'A', 335, 164, 789, 161, 120, 129), Rank._(2, '2', 20, 19, 15, 322, 83, 125), Rank._(3, '3', 122, 19, 117, 322, 80, 127), diff --git a/doc/tutorials/klondike/app/lib/step3/suit.dart b/doc/tutorials/klondike/app/lib/step3/suit.dart index e7aa0898e0..ec37d58c47 100644 --- a/doc/tutorials/klondike/app/lib/step3/suit.dart +++ b/doc/tutorials/klondike/app/lib/step3/suit.dart @@ -19,7 +19,7 @@ class Suit { final String label; final Sprite sprite; - static late final List _singletons = [ + static final List _singletons = [ Suit._(0, '♥', 1176, 17, 172, 183), Suit._(1, '♦', 973, 14, 177, 182), Suit._(2, '♣', 974, 226, 184, 172), diff --git a/doc/tutorials/klondike/app/lib/step4/components/card.dart b/doc/tutorials/klondike/app/lib/step4/components/card.dart index 3dc2c0c0c7..9dae573a44 100644 --- a/doc/tutorials/klondike/app/lib/step4/components/card.dart +++ b/doc/tutorials/klondike/app/lib/step4/components/card.dart @@ -56,7 +56,7 @@ class Card extends PositionComponent with DragCallbacks { const Radius.circular(KlondikeGame.cardRadius), ); static final RRect backRRectInner = cardRRect.deflate(40); - static late final Sprite flameSprite = klondikeSprite(1367, 6, 357, 501); + static final Sprite flameSprite = klondikeSprite(1367, 6, 357, 501); void _renderBack(Canvas canvas) { canvas.drawRRect(cardRRect, backBackgroundPaint); @@ -80,14 +80,14 @@ class Card extends PositionComponent with DragCallbacks { Color(0x880d8bff), BlendMode.srcATop, ); - static late final Sprite redJack = klondikeSprite(81, 565, 562, 488); - static late final Sprite redQueen = klondikeSprite(717, 541, 486, 515); - static late final Sprite redKing = klondikeSprite(1305, 532, 407, 549); - static late final Sprite blackJack = klondikeSprite(81, 565, 562, 488) + static final Sprite redJack = klondikeSprite(81, 565, 562, 488); + static final Sprite redQueen = klondikeSprite(717, 541, 486, 515); + static final Sprite redKing = klondikeSprite(1305, 532, 407, 549); + static final Sprite blackJack = klondikeSprite(81, 565, 562, 488) ..paint = blueFilter; - static late final Sprite blackQueen = klondikeSprite(717, 541, 486, 515) + static final Sprite blackQueen = klondikeSprite(717, 541, 486, 515) ..paint = blueFilter; - static late final Sprite blackKing = klondikeSprite(1305, 532, 407, 549) + static final Sprite blackKing = klondikeSprite(1305, 532, 407, 549) ..paint = blueFilter; void _renderFront(Canvas canvas) { diff --git a/doc/tutorials/klondike/app/lib/step4/rank.dart b/doc/tutorials/klondike/app/lib/step4/rank.dart index 2af952405e..7a00f04606 100644 --- a/doc/tutorials/klondike/app/lib/step4/rank.dart +++ b/doc/tutorials/klondike/app/lib/step4/rank.dart @@ -29,7 +29,7 @@ class Rank { final Sprite redSprite; final Sprite blackSprite; - static late final List _singletons = [ + static final List _singletons = [ Rank._(1, 'A', 335, 164, 789, 161, 120, 129), Rank._(2, '2', 20, 19, 15, 322, 83, 125), Rank._(3, '3', 122, 19, 117, 322, 80, 127), diff --git a/doc/tutorials/klondike/app/lib/step4/suit.dart b/doc/tutorials/klondike/app/lib/step4/suit.dart index e7aa0898e0..ec37d58c47 100644 --- a/doc/tutorials/klondike/app/lib/step4/suit.dart +++ b/doc/tutorials/klondike/app/lib/step4/suit.dart @@ -19,7 +19,7 @@ class Suit { final String label; final Sprite sprite; - static late final List _singletons = [ + static final List _singletons = [ Suit._(0, '♥', 1176, 17, 172, 183), Suit._(1, '♦', 973, 14, 177, 182), Suit._(2, '♣', 974, 226, 184, 172), diff --git a/doc/tutorials/platformer/app/lib/ember_quest.dart b/doc/tutorials/platformer/app/lib/ember_quest.dart index 28f8acbdfd..45fa84a326 100644 --- a/doc/tutorials/platformer/app/lib/ember_quest.dart +++ b/doc/tutorials/platformer/app/lib/ember_quest.dart @@ -35,7 +35,7 @@ class EmberQuestGame extends FlameGame 'star.png', 'water_enemy.png', ]); - initializeGame(true); + initializeGame(loadHud: true); } @override @@ -90,7 +90,7 @@ class EmberQuestGame extends FlameGame } } - void initializeGame(bool loadHud) { + void initializeGame({required bool loadHud}) { // Assume that size.x < 3200 final segmentsToLoad = (size.x / 640).ceil(); segmentsToLoad.clamp(0, segments.length); @@ -111,6 +111,6 @@ class EmberQuestGame extends FlameGame void reset() { starsCollected = 0; health = 3; - initializeGame(false); + initializeGame(loadHud: false); } } diff --git a/doc/tutorials/platformer/app/lib/overlays/game_over.dart b/doc/tutorials/platformer/app/lib/overlays/game_over.dart index 8e1de2f511..d71d5c7f33 100644 --- a/doc/tutorials/platformer/app/lib/overlays/game_over.dart +++ b/doc/tutorials/platformer/app/lib/overlays/game_over.dart @@ -5,7 +5,7 @@ import '../ember_quest.dart'; class GameOver extends StatelessWidget { // Reference to parent game. final EmberQuestGame game; - const GameOver({super.key, required this.game}); + const GameOver({required this.game, super.key}); @override Widget build(BuildContext context) { diff --git a/doc/tutorials/platformer/app/lib/overlays/main_menu.dart b/doc/tutorials/platformer/app/lib/overlays/main_menu.dart index c356860211..579bd83293 100644 --- a/doc/tutorials/platformer/app/lib/overlays/main_menu.dart +++ b/doc/tutorials/platformer/app/lib/overlays/main_menu.dart @@ -6,7 +6,7 @@ class MainMenu extends StatelessWidget { // Reference to parent game. final EmberQuestGame game; - const MainMenu({super.key, required this.game}); + const MainMenu({required this.game, super.key}); @override Widget build(BuildContext context) { diff --git a/examples/games/padracing/lib/lap_line.dart b/examples/games/padracing/lib/lap_line.dart index e8f48a02d3..6ec56f16b4 100644 --- a/examples/games/padracing/lib/lap_line.dart +++ b/examples/games/padracing/lib/lap_line.dart @@ -10,7 +10,7 @@ import 'package:padracing/car.dart'; import 'package:padracing/game_colors.dart'; class LapLine extends BodyComponent with ContactCallbacks { - LapLine(this.id, this.position, this.size, this.isFinish) + LapLine(this.id, this.position, this.size, {required this.isFinish}) : super(priority: 1); final int id; diff --git a/examples/games/padracing/lib/menu.dart b/examples/games/padracing/lib/menu.dart index b93fba366c..0212304268 100644 --- a/examples/games/padracing/lib/menu.dart +++ b/examples/games/padracing/lib/menu.dart @@ -71,9 +71,9 @@ class Menu extends StatelessWidget { ), recognizer: TapGestureRecognizer() ..onTap = () { - final _url = - Uri.parse('https://github.com/spydon'); - launchUrl(_url); + launchUrl( + Uri.parse('https://github.com/spydon'), + ); }, ), ], diff --git a/examples/games/padracing/lib/menu_card.dart b/examples/games/padracing/lib/menu_card.dart index 7ac10d87d1..1d8aaf7ab7 100644 --- a/examples/games/padracing/lib/menu_card.dart +++ b/examples/games/padracing/lib/menu_card.dart @@ -3,7 +3,7 @@ import 'package:flutter/material.dart' hide Image, Gradient; import 'package:padracing/game_colors.dart'; class MenuCard extends StatelessWidget { - const MenuCard({super.key, required this.children}); + const MenuCard({required this.children, super.key}); final List children; diff --git a/examples/games/padracing/lib/padracing_game.dart b/examples/games/padracing/lib/padracing_game.dart index 8eddc52ea6..5a0e203af7 100644 --- a/examples/games/padracing/lib/padracing_game.dart +++ b/examples/games/padracing/lib/padracing_game.dart @@ -65,9 +65,9 @@ class PadRacingGame extends Forge2DGame with KeyboardEvents { final walls = createWalls(trackSize); final bigBall = Ball(position: Vector2(200, 245), isMovable: false); cameraWorld.addAll([ - LapLine(1, Vector2(25, 50), Vector2(50, 5), false), - LapLine(2, Vector2(25, 70), Vector2(50, 5), false), - LapLine(3, Vector2(52.5, 25), Vector2(5, 50), true), + LapLine(1, Vector2(25, 50), Vector2(50, 5), isFinish: false), + LapLine(2, Vector2(25, 70), Vector2(50, 5), isFinish: false), + LapLine(3, Vector2(52.5, 25), Vector2(5, 50), isFinish: true), bigBall, ...walls, ...createBalls(trackSize, walls, bigBall), diff --git a/examples/games/rogue_shooter/lib/components/bullet_component.dart b/examples/games/rogue_shooter/lib/components/bullet_component.dart index 55c6074636..656d342016 100644 --- a/examples/games/rogue_shooter/lib/components/bullet_component.dart +++ b/examples/games/rogue_shooter/lib/components/bullet_component.dart @@ -28,8 +28,11 @@ class BulletComponent extends SpriteAnimationComponent } @override - void onCollisionStart(Set points, PositionComponent other) { - super.onCollisionStart(points, other); + void onCollisionStart( + Set intersectionPoints, + PositionComponent other, + ) { + super.onCollisionStart(intersectionPoints, other); if (other is EnemyComponent) { other.takeHit(); removeFromParent(); diff --git a/examples/games/rogue_shooter/lib/components/player_component.dart b/examples/games/rogue_shooter/lib/components/player_component.dart index 00c517bbc6..78487704cb 100644 --- a/examples/games/rogue_shooter/lib/components/player_component.dart +++ b/examples/games/rogue_shooter/lib/components/player_component.dart @@ -61,8 +61,11 @@ class PlayerComponent extends SpriteAnimationComponent } @override - void onCollisionStart(Set points, PositionComponent other) { - super.onCollisionStart(points, other); + void onCollisionStart( + Set intersectionPoints, + PositionComponent other, + ) { + super.onCollisionStart(intersectionPoints, other); if (other is EnemyComponent) { other.takeHit(); } diff --git a/examples/games/rogue_shooter/lib/rogue_shooter_game.dart b/examples/games/rogue_shooter/lib/rogue_shooter_game.dart index 50dff69d6d..7870e0acd6 100644 --- a/examples/games/rogue_shooter/lib/rogue_shooter_game.dart +++ b/examples/games/rogue_shooter/lib/rogue_shooter_game.dart @@ -65,8 +65,8 @@ class RogueShooterGame extends FlameGame } @override - void onPanUpdate(DragUpdateInfo details) { - player.position += details.delta.game; + void onPanUpdate(DragUpdateInfo info) { + player.position += info.delta.game; } void increaseScore() { diff --git a/examples/games/trex/lib/background/cloud.dart b/examples/games/trex/lib/background/cloud.dart index c5791c4dff..a41bf6f030 100644 --- a/examples/games/trex/lib/background/cloud.dart +++ b/examples/games/trex/lib/background/cloud.dart @@ -52,8 +52,8 @@ class Cloud extends SpriteComponent } @override - void onGameResize(Vector2 gameSize) { - super.onGameResize(gameSize); + void onGameResize(Vector2 size) { + super.onGameResize(size); y = ((absolutePosition.y / 2 - (maxSkyLevel - minSkyLevel)) + random.fromRange(minSkyLevel, maxSkyLevel)) - absolutePositionOf(absoluteTopLeftPosition).y; diff --git a/examples/games/trex/lib/background/horizon.dart b/examples/games/trex/lib/background/horizon.dart index d37d7c7ba4..91a915a9a1 100644 --- a/examples/games/trex/lib/background/horizon.dart +++ b/examples/games/trex/lib/background/horizon.dart @@ -50,12 +50,12 @@ class Horizon extends PositionComponent with HasGameRef { } @override - void onGameResize(Vector2 gameSize) { - super.onGameResize(gameSize); + void onGameResize(Vector2 size) { + super.onGameResize(size); final newLines = _generateLines(); groundLayers.addAll(newLines); addAll(newLines); - y = (gameSize.y / 2) + 21.0; + y = (size.y / 2) + 21.0; } void reset() { diff --git a/examples/games/trex/lib/game_over.dart b/examples/games/trex/lib/game_over.dart index 39e6c44dbf..4a6e714269 100644 --- a/examples/games/trex/lib/game_over.dart +++ b/examples/games/trex/lib/game_over.dart @@ -33,10 +33,10 @@ class GameOverText extends SpriteComponent with HasGameRef { } @override - void onGameResize(Vector2 gameSize) { - super.onGameResize(gameSize); - x = gameSize.x / 2; - y = gameSize.y * .25; + void onGameResize(Vector2 size) { + super.onGameResize(size); + x = size.x / 2; + y = size.y * .25; } } @@ -53,9 +53,9 @@ class GameOverRestart extends SpriteComponent with HasGameRef { } @override - void onGameResize(Vector2 gameSize) { - super.onGameResize(gameSize); - x = gameSize.x / 2; - y = gameSize.y * .75; + void onGameResize(Vector2 size) { + super.onGameResize(size); + x = size.x / 2; + y = size.y * .75; } } diff --git a/examples/games/trex/lib/obstacle/obstacle_type.dart b/examples/games/trex/lib/obstacle/obstacle_type.dart index 0bc5d4e0a3..79891da56a 100644 --- a/examples/games/trex/lib/obstacle/obstacle_type.dart +++ b/examples/games/trex/lib/obstacle/obstacle_type.dart @@ -19,10 +19,10 @@ class ObstacleTypeSettings { required this.multipleAt, required this.minGap, required this.minSpeed, + required this.generateHitboxes, this.numFrames, this.frameRate, this.speedOffset, - required this.generateHitboxes, }); final ObstacleType type; diff --git a/examples/lib/commons/commons.dart b/examples/lib/commons/commons.dart index bc031e2917..cb9432eda8 100644 --- a/examples/lib/commons/commons.dart +++ b/examples/lib/commons/commons.dart @@ -1,6 +1,6 @@ String baseLink(String path) { - const _basePath = + const basePath = 'https://github.com/flame-engine/flame/blob/main/examples/lib/stories/'; - return '$_basePath$path'; + return '$basePath$path'; } diff --git a/examples/lib/stories/bridge_libraries/audio/basic_audio_example.dart b/examples/lib/stories/bridge_libraries/audio/basic_audio_example.dart index bbcb5f2d82..727c0dd9e3 100644 --- a/examples/lib/stories/bridge_libraries/audio/basic_audio_example.dart +++ b/examples/lib/stories/bridge_libraries/audio/basic_audio_example.dart @@ -74,8 +74,8 @@ class BasicAudioExample extends FlameGame with TapDetector { } @override - void onTapDown(TapDownInfo details) { - if (button.containsPoint(details.eventPosition.game)) { + void onTapDown(TapDownInfo info) { + if (button.containsPoint(info.eventPosition.game)) { fireTwo(); } else { fireOne(); diff --git a/examples/lib/stories/bridge_libraries/flame_isolate/simple_isolate_example.dart b/examples/lib/stories/bridge_libraries/flame_isolate/simple_isolate_example.dart index 73f3b6f9a1..0103f21236 100644 --- a/examples/lib/stories/bridge_libraries/flame_isolate/simple_isolate_example.dart +++ b/examples/lib/stories/bridge_libraries/flame_isolate/simple_isolate_example.dart @@ -93,8 +93,8 @@ class CalculatePrimeNumber extends PositionComponent } @override - void update(double t) { - _interval.update(t); + void update(double dt) { + _interval.update(dt); } @override diff --git a/examples/lib/stories/bridge_libraries/forge2d/animated_body_example.dart b/examples/lib/stories/bridge_libraries/forge2d/animated_body_example.dart index 5592c4078a..ca9b03f477 100644 --- a/examples/lib/stories/bridge_libraries/forge2d/animated_body_example.dart +++ b/examples/lib/stories/bridge_libraries/forge2d/animated_body_example.dart @@ -36,9 +36,9 @@ class AnimatedBodyExample extends Forge2DGame with TapDetector { } @override - void onTapDown(TapDownInfo details) { - super.onTapDown(details); - final position = details.eventPosition.game; + void onTapDown(TapDownInfo info) { + super.onTapDown(info); + final position = info.eventPosition.game; final spriteSize = Vector2.all(10); final animationComponent = SpriteAnimationComponent( animation: animation, diff --git a/examples/lib/stories/bridge_libraries/forge2d/blob_example.dart b/examples/lib/stories/bridge_libraries/forge2d/blob_example.dart index 03d766e71c..74d2046cc8 100644 --- a/examples/lib/stories/bridge_libraries/forge2d/blob_example.dart +++ b/examples/lib/stories/bridge_libraries/forge2d/blob_example.dart @@ -31,9 +31,9 @@ class BlobExample extends Forge2DGame with TapDetector { } @override - void onTapDown(TapDownInfo details) { - super.onTapDown(details); - add(FallingBox(details.eventPosition.game)); + void onTapDown(TapDownInfo info) { + super.onTapDown(info); + add(FallingBox(info.eventPosition.game)); } } diff --git a/examples/lib/stories/bridge_libraries/forge2d/camera_example.dart b/examples/lib/stories/bridge_libraries/forge2d/camera_example.dart index d74413ba59..be6ef6dd65 100644 --- a/examples/lib/stories/bridge_libraries/forge2d/camera_example.dart +++ b/examples/lib/stories/bridge_libraries/forge2d/camera_example.dart @@ -11,8 +11,8 @@ class CameraExample extends DominoExample { '''; @override - void onTapDown(TapDownInfo details) { - final position = details.eventPosition.game; + void onTapDown(TapDownInfo info) { + final position = info.eventPosition.game; final pizza = Pizza(position); add(pizza); pizza.mounted.whenComplete(() => camera.followBodyComponent(pizza)); diff --git a/examples/lib/stories/bridge_libraries/forge2d/contact_callbacks_example.dart b/examples/lib/stories/bridge_libraries/forge2d/contact_callbacks_example.dart index 397fc03efd..422c498077 100644 --- a/examples/lib/stories/bridge_libraries/forge2d/contact_callbacks_example.dart +++ b/examples/lib/stories/bridge_libraries/forge2d/contact_callbacks_example.dart @@ -22,9 +22,9 @@ class ContactCallbacksExample extends Forge2DGame with TapDetector { } @override - void onTapDown(TapDownInfo details) { - super.onTapDown(details); - final position = details.eventPosition.game; + void onTapDown(TapDownInfo info) { + super.onTapDown(info); + final position = info.eventPosition.game; if (math.Random().nextInt(10) < 2) { add(WhiteBall(position)); } else { diff --git a/examples/lib/stories/bridge_libraries/forge2d/domino_example.dart b/examples/lib/stories/bridge_libraries/forge2d/domino_example.dart index 9e7afc8281..23c17f40ba 100644 --- a/examples/lib/stories/bridge_libraries/forge2d/domino_example.dart +++ b/examples/lib/stories/bridge_libraries/forge2d/domino_example.dart @@ -39,9 +39,9 @@ class DominoExample extends Forge2DGame with TapDetector { } @override - void onTapDown(TapDownInfo details) { - super.onTapDown(details); - final position = details.eventPosition.game; + void onTapDown(TapDownInfo info) { + super.onTapDown(info); + final position = info.eventPosition.game; add(Pizza(position)..renderBody = true); } } diff --git a/examples/lib/stories/bridge_libraries/forge2d/joints/constant_volume_joint.dart b/examples/lib/stories/bridge_libraries/forge2d/joints/constant_volume_joint.dart index 6d2c955baa..c3e43dbdf2 100644 --- a/examples/lib/stories/bridge_libraries/forge2d/joints/constant_volume_joint.dart +++ b/examples/lib/stories/bridge_libraries/forge2d/joints/constant_volume_joint.dart @@ -18,9 +18,9 @@ class ConstantVolumeJointExample extends Forge2DGame with TapDetector { } @override - Future onTapDown(TapDownInfo details) async { - super.onTapDown(details); - final center = details.eventPosition.game; + Future onTapDown(TapDownInfo info) async { + super.onTapDown(info); + final center = info.eventPosition.game; const numPieces = 20; const radius = 5.0; diff --git a/examples/lib/stories/bridge_libraries/forge2d/joints/distance_joint.dart b/examples/lib/stories/bridge_libraries/forge2d/joints/distance_joint.dart index 795b4c2486..3bf71ae31d 100644 --- a/examples/lib/stories/bridge_libraries/forge2d/joints/distance_joint.dart +++ b/examples/lib/stories/bridge_libraries/forge2d/joints/distance_joint.dart @@ -16,9 +16,9 @@ class DistanceJointExample extends Forge2DGame with TapDetector { } @override - Future onTapDown(TapDownInfo details) async { - super.onTapDown(details); - final tap = details.eventPosition.game; + Future onTapDown(TapDownInfo info) async { + super.onTapDown(info); + final tap = info.eventPosition.game; final first = Ball(tap); final second = Ball(Vector2(tap.x + 3, tap.y + 3)); diff --git a/examples/lib/stories/bridge_libraries/forge2d/joints/friction_joint.dart b/examples/lib/stories/bridge_libraries/forge2d/joints/friction_joint.dart index 443c6ac8c4..72160cffd9 100644 --- a/examples/lib/stories/bridge_libraries/forge2d/joints/friction_joint.dart +++ b/examples/lib/stories/bridge_libraries/forge2d/joints/friction_joint.dart @@ -29,8 +29,8 @@ class FrictionJointExample extends Forge2DGame with TapDetector { } @override - Future onTapDown(TapDownInfo details) async { - super.onTapDown(details); + Future onTapDown(TapDownInfo info) async { + super.onTapDown(info); ball.body.applyLinearImpulse(Vector2.random() * 5000); } diff --git a/examples/lib/stories/bridge_libraries/forge2d/joints/motor_joint.dart b/examples/lib/stories/bridge_libraries/forge2d/joints/motor_joint.dart index 491590871d..437f887c4c 100644 --- a/examples/lib/stories/bridge_libraries/forge2d/joints/motor_joint.dart +++ b/examples/lib/stories/bridge_libraries/forge2d/joints/motor_joint.dart @@ -41,8 +41,8 @@ class MotorJointExample extends Forge2DGame with TapDetector, HasDraggables { } @override - Future onTapDown(TapDownInfo details) async { - super.onTapDown(details); + Future onTapDown(TapDownInfo info) async { + super.onTapDown(info); clockWise = !clockWise; } diff --git a/examples/lib/stories/bridge_libraries/forge2d/joints/mouse_joint.dart b/examples/lib/stories/bridge_libraries/forge2d/joints/mouse_joint.dart index ccb7f7976a..eb91c9d06c 100644 --- a/examples/lib/stories/bridge_libraries/forge2d/joints/mouse_joint.dart +++ b/examples/lib/stories/bridge_libraries/forge2d/joints/mouse_joint.dart @@ -30,7 +30,7 @@ class MouseJointExample extends Forge2DGame with MultiTouchDragDetector { } @override - bool onDragUpdate(int pointerId, DragUpdateInfo details) { + bool onDragUpdate(int pointerId, DragUpdateInfo info) { final mouseJointDef = MouseJointDef() ..maxForce = 3000 * ball.body.mass * 10 ..dampingRatio = 0.1 @@ -45,12 +45,12 @@ class MouseJointExample extends Forge2DGame with MultiTouchDragDetector { world.createJoint(mouseJoint!); } - mouseJoint?.setTarget(details.eventPosition.game); + mouseJoint?.setTarget(info.eventPosition.game); return false; } @override - bool onDragEnd(int pointerId, DragEndInfo details) { + bool onDragEnd(int pointerId, DragEndInfo info) { if (mouseJoint == null) { return true; } diff --git a/examples/lib/stories/bridge_libraries/forge2d/joints/revolute_joint.dart b/examples/lib/stories/bridge_libraries/forge2d/joints/revolute_joint.dart index e9c7fea260..5a5a8825f2 100644 --- a/examples/lib/stories/bridge_libraries/forge2d/joints/revolute_joint.dart +++ b/examples/lib/stories/bridge_libraries/forge2d/joints/revolute_joint.dart @@ -21,9 +21,9 @@ class RevoluteJointExample extends Forge2DGame with TapDetector { } @override - void onTapDown(TapDownInfo details) { - super.onTapDown(details); - final ball = Ball(details.eventPosition.game); + void onTapDown(TapDownInfo info) { + super.onTapDown(info); + final ball = Ball(info.eventPosition.game); add(ball); add(CircleShuffler(ball)); } diff --git a/examples/lib/stories/bridge_libraries/forge2d/revolute_joint_with_motor_example.dart b/examples/lib/stories/bridge_libraries/forge2d/revolute_joint_with_motor_example.dart index 47cd8c63cf..6bd1ae6c90 100644 --- a/examples/lib/stories/bridge_libraries/forge2d/revolute_joint_with_motor_example.dart +++ b/examples/lib/stories/bridge_libraries/forge2d/revolute_joint_with_motor_example.dart @@ -26,9 +26,9 @@ class RevoluteJointWithMotorExample extends Forge2DGame with TapDetector { } @override - void onTapDown(TapDownInfo details) { - super.onTapDown(details); - final tapPosition = details.eventPosition.game; + void onTapDown(TapDownInfo info) { + super.onTapDown(info); + final tapPosition = info.eventPosition.game; final random = Random(); List.generate(15, (i) { final randomVector = (Vector2.random() - Vector2.all(-0.5)).normalized(); diff --git a/examples/lib/stories/bridge_libraries/forge2d/sprite_body_example.dart b/examples/lib/stories/bridge_libraries/forge2d/sprite_body_example.dart index 016f080548..a1a0a7577e 100644 --- a/examples/lib/stories/bridge_libraries/forge2d/sprite_body_example.dart +++ b/examples/lib/stories/bridge_libraries/forge2d/sprite_body_example.dart @@ -19,9 +19,9 @@ class SpriteBodyExample extends Forge2DGame with TapDetector { } @override - void onTapDown(TapDownInfo details) { - super.onTapDown(details); - final position = details.eventPosition.game; + void onTapDown(TapDownInfo info) { + super.onTapDown(info); + final position = info.eventPosition.game; add(Pizza(position, size: Vector2(10, 15))); } } diff --git a/examples/lib/stories/bridge_libraries/forge2d/utils/balls.dart b/examples/lib/stories/bridge_libraries/forge2d/utils/balls.dart index 15c77a0d9b..8304e4a0f1 100644 --- a/examples/lib/stories/bridge_libraries/forge2d/utils/balls.dart +++ b/examples/lib/stories/bridge_libraries/forge2d/utils/balls.dart @@ -44,10 +44,10 @@ class Ball extends BodyComponent with ContactCallbacks { } @override - void renderCircle(Canvas c, Offset center, double radius) { - super.renderCircle(c, center, radius); + void renderCircle(Canvas canvas, Offset center, double radius) { + super.renderCircle(canvas, center, radius); final lineRotation = Offset(0, radius); - c.drawLine(center, center + lineRotation, _blue); + canvas.drawLine(center, center + lineRotation, _blue); } @override diff --git a/examples/lib/stories/camera_and_viewport/camera_component_example.dart b/examples/lib/stories/camera_and_viewport/camera_component_example.dart index 0ed63b27c8..a9dcb6320e 100644 --- a/examples/lib/stories/camera_and_viewport/camera_component_example.dart +++ b/examples/lib/stories/camera_and_viewport/camera_component_example.dart @@ -353,12 +353,12 @@ class Ant extends PositionComponent { ..cubicTo(0, -1.8, 0, -1.1, 0.5, -1.1) ..close(); legs = [ - InsectLeg(-0.3, 0.4, -2.6, 0.6, 1.1, 1.1, 0.5, true), - InsectLeg(-0.2, 0.7, -2.3, 2.6, 1.5, 1.5, 0.6, true), - InsectLeg(0.3, 0, 1.7, -2.3, 1.5, 1.3, 0.6, true), - InsectLeg(0.3, 0.4, 2.6, 0.6, 1.1, 1.1, 0.5, false), - InsectLeg(0.2, 0.7, 2.3, 2.6, 1.5, 1.5, 0.6, false), - InsectLeg(-0.3, 0, -1.7, -2.3, 1.5, 1.3, 0.6, false), + InsectLeg(-0.3, 0.4, -2.6, 0.6, 1.1, 1.1, 0.5, mirrorBendDirection: true), + InsectLeg(-0.2, 0.7, -2.3, 2.6, 1.5, 1.5, 0.6, mirrorBendDirection: true), + InsectLeg(0.3, 0, 1.7, -2.3, 1.5, 1.3, 0.6, mirrorBendDirection: true), + InsectLeg(0.3, 0.4, 2.6, 0.6, 1.1, 1.1, 0.5, mirrorBendDirection: false), + InsectLeg(0.2, 0.7, 2.3, 2.6, 1.5, 1.5, 0.6, mirrorBendDirection: false), + InsectLeg(-0.3, 0, -1.7, -2.3, 1.5, 1.3, 0.6, mirrorBendDirection: false), ]; } @@ -478,9 +478,9 @@ class InsectLeg { this.y1, this.l1, this.l2, - this.l3, - bool bendDirection, - ) : dir = bendDirection ? -1 : 1, + this.l3, { + required bool mirrorBendDirection, + }) : dir = mirrorBendDirection ? -1 : 1, path = Path(), foot = Vector2.zero() { final ok = placeFoot(Vector2(x1, y1)); @@ -488,14 +488,18 @@ class InsectLeg { } /// Place where the leg is attached to the body - final double x0, y0; + final double x0; + final double y0; /// Place on the ground where the ant needs to place its foot - final double x1, y1; + final double x1; + final double y1; /// Lengths of the 3 segments of the leg: [l1] is nearest to the body, [l2] /// is the middle part, and [l3] is the "foot". - final double l1, l2, l3; + final double l1; + final double l2; + final double l3; /// +1 if the leg bends "forward", or -1 if backwards final double dir; diff --git a/examples/lib/stories/camera_and_viewport/coordinate_systems_example.dart b/examples/lib/stories/camera_and_viewport/coordinate_systems_example.dart index c6775384da..a15d3428fe 100644 --- a/examples/lib/stories/camera_and_viewport/coordinate_systems_example.dart +++ b/examples/lib/stories/camera_and_viewport/coordinate_systems_example.dart @@ -40,21 +40,21 @@ class CoordinateSystemsExample extends FlameGame } @override - void render(Canvas c) { - c.drawRect(canvasSize.toRect(), _borderPaint); + void render(Canvas canvas) { + canvas.drawRect(canvasSize.toRect(), _borderPaint); _text.render( - c, + canvas, 'Camera: WASD to move, QE to zoom', Vector2.all(5.0), ); _text.render( - c, + canvas, 'Camera: ${camera.position}, zoom: ${camera.zoom}', Vector2(canvasSize.x - 5, 5.0), anchor: Anchor.topRight, ); _text.render( - c, + canvas, 'This is your Flame game!', canvasSize - Vector2.all(5.0), anchor: Anchor.bottomRight, @@ -62,22 +62,22 @@ class CoordinateSystemsExample extends FlameGame final lastEventDescription = this.lastEventDescription; if (lastEventDescription != null) { _text.render( - c, + canvas, lastEventDescription, canvasSize / 2, anchor: Anchor.center, ); } - super.render(c); + super.render(canvas); } @override - void onTapUp(int pointer, TapUpInfo info) { + void onTapUp(int pointerId, TapUpInfo info) { lastEventDescription = _describe('TapUp', info); } @override - void onTapDown(int pointer, TapDownInfo info) { + void onTapDown(int pointerId, TapDownInfo info) { lastEventDescription = _describe('TapDown', info); } diff --git a/examples/lib/stories/camera_and_viewport/fixed_resolution_example.dart b/examples/lib/stories/camera_and_viewport/fixed_resolution_example.dart index 8753551a7e..3170e26274 100644 --- a/examples/lib/stories/camera_and_viewport/fixed_resolution_example.dart +++ b/examples/lib/stories/camera_and_viewport/fixed_resolution_example.dart @@ -55,7 +55,7 @@ class Background extends PositionComponent with HasGameRef { } @override - void render(Canvas c) { - c.drawRect(hugeRect, white); + void render(Canvas canvas) { + canvas.drawRect(hugeRect, white); } } diff --git a/examples/lib/stories/camera_and_viewport/follow_component_example.dart b/examples/lib/stories/camera_and_viewport/follow_component_example.dart index 1bcc9fc982..43f2ec705d 100644 --- a/examples/lib/stories/camera_and_viewport/follow_component_example.dart +++ b/examples/lib/stories/camera_and_viewport/follow_component_example.dart @@ -78,8 +78,8 @@ class MovableEmber extends Ember } @override - void onCollision(Set points, PositionComponent other) { - super.onCollision(points, other); + void onCollision(Set intersectionPoints, PositionComponent other) { + super.onCollision(intersectionPoints, other); if (other is Rock) { gameRef.camera.setRelativeOffset(Anchor.topCenter); } diff --git a/examples/lib/stories/collision_detection/multiple_shapes_example.dart b/examples/lib/stories/collision_detection/multiple_shapes_example.dart index eef5a6f1be..682fa6598f 100644 --- a/examples/lib/stories/collision_detection/multiple_shapes_example.dart +++ b/examples/lib/stories/collision_detection/multiple_shapes_example.dart @@ -74,7 +74,7 @@ class MultipleShapesExample extends FlameGame with HasCollisionDetection { collidableSize, velocity, screenHitbox, - rng: _rng, + random: _rng, ); } } @@ -273,11 +273,11 @@ MyCollidable randomCollidable( Vector2 size, Vector2 velocity, ScreenHitbox screenHitbox, { - Random? rng, + Random? random, }) { - final _rng = rng ?? Random(); - final rotationSpeed = 0.5 - _rng.nextDouble(); - final shapeType = Shapes.values[_rng.nextInt(Shapes.values.length)]; + final rng = random ?? Random(); + final rotationSpeed = 0.5 - rng.nextDouble(); + final shapeType = Shapes.values[rng.nextInt(Shapes.values.length)]; switch (shapeType) { case Shapes.circle: return CollidableCircle(position, size, velocity, screenHitbox) diff --git a/examples/lib/stories/components/components_notifier_example.dart b/examples/lib/stories/components/components_notifier_example.dart index c43f4fc0c8..eff9eba5fb 100644 --- a/examples/lib/stories/components/components_notifier_example.dart +++ b/examples/lib/stories/components/components_notifier_example.dart @@ -60,9 +60,9 @@ class _ComponentsNotifierExampleWidgetState class GameHud extends StatelessWidget { const GameHud({ - super.key, required this.remainingEnemies, required this.onReplay, + super.key, }); final int remainingEnemies; diff --git a/examples/lib/stories/components/look_at_example.dart b/examples/lib/stories/components/look_at_example.dart index 70ced418e9..da53052954 100644 --- a/examples/lib/stories/components/look_at_example.dart +++ b/examples/lib/stories/components/look_at_example.dart @@ -83,7 +83,7 @@ class LookAtExample extends FlameGame with TapDetector { // Just displays some information. No functional contribution to the example. void _spawnInfoText() { - final _shaded = TextPaint( + final shaded = TextPaint( style: TextStyle( color: BasicPalette.white.color, fontSize: 20.0, @@ -96,7 +96,7 @@ class LookAtExample extends FlameGame with TapDetector { add( TextComponent( text: 'nativeAngle = pi', - textRenderer: _shaded, + textRenderer: shaded, anchor: Anchor.center, position: _chopper1.absolutePosition + Vector2(0, -50), ), @@ -105,7 +105,7 @@ class LookAtExample extends FlameGame with TapDetector { add( TextComponent( text: 'nativeAngle = 0', - textRenderer: _shaded, + textRenderer: shaded, anchor: Anchor.center, position: _chopper2.absolutePosition + Vector2(0, -50), ), diff --git a/examples/lib/stories/components/look_at_smooth_example.dart b/examples/lib/stories/components/look_at_smooth_example.dart index 5747ba14df..648dc5a2e7 100644 --- a/examples/lib/stories/components/look_at_smooth_example.dart +++ b/examples/lib/stories/components/look_at_smooth_example.dart @@ -103,7 +103,7 @@ class LookAtSmoothExample extends FlameGame with TapDetector { // Just displays some information. No functional contribution to the example. void _spawnInfoText() { - final _shaded = TextPaint( + final shaded = TextPaint( style: TextStyle( color: BasicPalette.white.color, fontSize: 20.0, @@ -116,7 +116,7 @@ class LookAtSmoothExample extends FlameGame with TapDetector { add( TextComponent( text: 'nativeAngle = pi', - textRenderer: _shaded, + textRenderer: shaded, anchor: Anchor.center, position: _chopper1.absolutePosition + Vector2(0, -50), ), @@ -125,7 +125,7 @@ class LookAtSmoothExample extends FlameGame with TapDetector { add( TextComponent( text: 'nativeAngle = 0', - textRenderer: _shaded, + textRenderer: shaded, anchor: Anchor.center, position: _chopper2.absolutePosition + Vector2(0, -50), ), diff --git a/examples/lib/stories/components/priority_example.dart b/examples/lib/stories/components/priority_example.dart index 8832564dae..a1f8d92ca4 100644 --- a/examples/lib/stories/components/priority_example.dart +++ b/examples/lib/stories/components/priority_example.dart @@ -30,7 +30,7 @@ class Square extends RectangleComponent ); @override - void onTapDown(TapDownEvent info) { + void onTapDown(TapDownEvent event) { final topComponent = gameRef.children.last; if (topComponent != this) { priority = topComponent.priority + 1; diff --git a/examples/lib/stories/input/double_tap_callbacks_example.dart b/examples/lib/stories/input/double_tap_callbacks_example.dart index 78de95ad2b..f24d751806 100644 --- a/examples/lib/stories/input/double_tap_callbacks_example.dart +++ b/examples/lib/stories/input/double_tap_callbacks_example.dart @@ -17,13 +17,13 @@ class DoubleTapCallbacksExample extends FlameGame with DoubleTapCallbacks { } @override - void onGameResize(Vector2 canvasSize) { + void onGameResize(Vector2 size) { children .query() .forEach((element) => element.removeFromParent()); - add(DoubleTappableEmber(position: canvasSize / 2)); + add(DoubleTappableEmber(position: size / 2)); - super.onGameResize(canvasSize); + super.onGameResize(size); } @override diff --git a/examples/lib/stories/input/gesture_hitboxes_example.dart b/examples/lib/stories/input/gesture_hitboxes_example.dart index 16611f56c9..75538c9fee 100644 --- a/examples/lib/stories/input/gesture_hitboxes_example.dart +++ b/examples/lib/stories/input/gesture_hitboxes_example.dart @@ -50,9 +50,9 @@ class GestureHitboxesExample extends FlameGame } @override - void onTapDown(TapDownEvent info) { - super.onTapDown(info); - final tapPosition = info.localPosition; + void onTapDown(TapDownEvent event) { + super.onTapDown(event); + final tapPosition = event.localPosition; final component = randomShape(tapPosition); add(component); } diff --git a/examples/lib/stories/input/joystick_advanced_example.dart b/examples/lib/stories/input/joystick_advanced_example.dart index 95ef43140e..9b2b68162d 100644 --- a/examples/lib/stories/input/joystick_advanced_example.dart +++ b/examples/lib/stories/input/joystick_advanced_example.dart @@ -152,16 +152,16 @@ class JoystickAdvancedExample extends FlameGame with HasCollisionDetection { ), ); - final _regular = TextPaint( + final regular = TextPaint( style: TextStyle(color: BasicPalette.white.color), ); speedText = TextComponent( text: 'Speed: 0', - textRenderer: _regular, + textRenderer: regular, )..positionType = PositionType.viewport; directionText = TextComponent( text: 'Direction: idle', - textRenderer: _regular, + textRenderer: regular, )..positionType = PositionType.viewport; final speedWithMargin = HudMarginComponent( diff --git a/examples/lib/stories/input/multitap_advanced_example.dart b/examples/lib/stories/input/multitap_advanced_example.dart index 9e6035cf2b..d82ca0a761 100644 --- a/examples/lib/stories/input/multitap_advanced_example.dart +++ b/examples/lib/stories/input/multitap_advanced_example.dart @@ -56,7 +56,8 @@ class MultitapAdvancedExample extends FlameGame @override void onDragEnd(int pointerId, _) { - final start = this.start, end = this.end; + final start = this.start; + final end = this.end; if (start != null && end != null) { panRect = start.toPositionedRect(end - start); } diff --git a/examples/lib/stories/rendering/particles_example.dart b/examples/lib/stories/rendering/particles_example.dart index b6b94ad83a..f3dd15f66c 100644 --- a/examples/lib/stories/rendering/particles_example.dart +++ b/examples/lib/stories/rendering/particles_example.dart @@ -536,6 +536,7 @@ class TrafficLightComponent extends Component { Colors.orange, Colors.red, ]; + final Paint _paint = Paint(); @override void onMount() { @@ -543,8 +544,8 @@ class TrafficLightComponent extends Component { } @override - void render(Canvas c) { - c.drawRect(rect, Paint()..color = currentColor); + void render(Canvas canvas) { + canvas.drawRect(rect, _paint..color = currentColor); } @override diff --git a/packages/flame/lib/src/camera/viewports/fixed_aspect_ratio_viewport.dart b/packages/flame/lib/src/camera/viewports/fixed_aspect_ratio_viewport.dart index 81624747a4..bd9577a1fd 100644 --- a/packages/flame/lib/src/camera/viewports/fixed_aspect_ratio_viewport.dart +++ b/packages/flame/lib/src/camera/viewports/fixed_aspect_ratio_viewport.dart @@ -30,9 +30,9 @@ class FixedAspectRatioViewport extends Viewport { } @override - void onGameResize(Vector2 canvasSize) { - super.onGameResize(canvasSize); - _handleResize(canvasSize); + void onGameResize(Vector2 size) { + super.onGameResize(size); + _handleResize(size); } void _handleResize(Vector2 canvasSize) { diff --git a/packages/flame/lib/src/camera/viewports/fixed_size_viewport.dart b/packages/flame/lib/src/camera/viewports/fixed_size_viewport.dart index bd2f021da6..542d3a8a14 100644 --- a/packages/flame/lib/src/camera/viewports/fixed_size_viewport.dart +++ b/packages/flame/lib/src/camera/viewports/fixed_size_viewport.dart @@ -23,7 +23,8 @@ class FixedSizeViewport extends Viewport { @override bool containsLocalPoint(Vector2 point) { - final x = point.x, y = point.y; + final x = point.x; + final y = point.y; return x >= 0 && x <= size.x && y >= 0 && y <= size.y; } diff --git a/packages/flame/lib/src/camera/viewports/max_viewport.dart b/packages/flame/lib/src/camera/viewports/max_viewport.dart index 5467ff6ee1..711b2bc309 100644 --- a/packages/flame/lib/src/camera/viewports/max_viewport.dart +++ b/packages/flame/lib/src/camera/viewports/max_viewport.dart @@ -17,9 +17,9 @@ class MaxViewport extends Viewport { } @override - void onGameResize(Vector2 gameSize) { - super.onGameResize(gameSize); - size = gameSize; + void onGameResize(Vector2 size) { + super.onGameResize(size); + this.size = size; } @override diff --git a/packages/flame/lib/src/collisions/broadphase/broadphase.dart b/packages/flame/lib/src/collisions/broadphase/broadphase.dart index 466aee2717..1fa6f881f0 100644 --- a/packages/flame/lib/src/collisions/broadphase/broadphase.dart +++ b/packages/flame/lib/src/collisions/broadphase/broadphase.dart @@ -50,9 +50,9 @@ class CollisionProspect { const CollisionProspect(this.a, this.b); @override - bool operator ==(Object o) => - o is CollisionProspect && - ((o.a == a && o.b == b) || (o.a == b && o.b == a)); + bool operator ==(Object other) => + other is CollisionProspect && + ((other.a == a && other.b == b) || (other.a == b && other.b == a)); @override int get hashCode => Object.hashAllUnordered([a, b]); diff --git a/packages/flame/lib/src/collisions/broadphase/quadtree/quad_tree_broadphase.dart b/packages/flame/lib/src/collisions/broadphase/quadtree/quad_tree_broadphase.dart index bf446b6e3d..a5849997cf 100644 --- a/packages/flame/lib/src/collisions/broadphase/quadtree/quad_tree_broadphase.dart +++ b/packages/flame/lib/src/collisions/broadphase/quadtree/quad_tree_broadphase.dart @@ -113,12 +113,12 @@ class QuadTreeBroadphase> extends Broadphase { } @override - void add(T hitbox) { - tree.add(hitbox); - if (hitbox.collisionType == CollisionType.active) { - activeCollisions.add(hitbox); + void add(T item) { + tree.add(item); + if (item.collisionType == CollisionType.active) { + activeCollisions.add(item); } - _cacheCenterOfHitbox(hitbox as ShapeHitbox); + _cacheCenterOfHitbox(item as ShapeHitbox); } @override diff --git a/packages/flame/lib/src/collisions/broadphase/quadtree/quadtree.dart b/packages/flame/lib/src/collisions/broadphase/quadtree/quadtree.dart index 868c0b67c2..5c4772ed58 100644 --- a/packages/flame/lib/src/collisions/broadphase/quadtree/quadtree.dart +++ b/packages/flame/lib/src/collisions/broadphase/quadtree/quadtree.dart @@ -26,10 +26,10 @@ class QuadTree> { Rect mainBoxSize; - var _rootNode = _Node(); + var _rootNode = QuadTreeNode(); int _nodeLastId = 0; final _oldPositionByItem = {}; - final _hitboxAtNode = {}; + final _hitboxAtNode = {}; List get hitboxes => _rootNode.valuesRecursive; @@ -41,10 +41,10 @@ class QuadTree> { return Rect.fromPoints(minOffset, value.aabb.max.toOffset()); } - bool _noChildren(_Node node) => node.children[0] == null; + bool _noChildren(QuadTreeNode node) => node.children[0] == null; void clear() { - _rootNode = _Node(); + _rootNode = QuadTreeNode(); _nodeLastId = 0; _hitboxAtNode.clear(); _oldPositionByItem.clear(); @@ -113,8 +113,14 @@ class QuadTree> { _hitboxAtNode[hitbox as ShapeHitbox] = node; } - _Node _add(_Node node, int depth, Rect box, T value, _Node? parent) { - _Node finalNode; + QuadTreeNode _add( + QuadTreeNode node, + int depth, + Rect box, + T value, + QuadTreeNode? parent, + ) { + QuadTreeNode finalNode; if (_noChildren(node)) { // Insert the value in this node if possible. if (depth >= maxDepth || node.hitboxes.length < maxObjects) { @@ -135,7 +141,7 @@ class QuadTree> { throw 'Invalid index $quadrant'; } finalNode = _add( - children as _Node, + children as QuadTreeNode, depth + 1, _computeBox(box, quadrant), value, @@ -154,12 +160,12 @@ class QuadTree> { return finalNode; } - void _split(_Node node, Rect box) { + void _split(QuadTreeNode node, Rect box) { assert(_noChildren(node), 'Only leaves can be split'); // Create children for (var i = 0; i < node.children.length; i++) { final newId = ++_nodeLastId; - node.children[i] = _Node() + node.children[i] = QuadTreeNode() ..parent = node ..id = newId; } @@ -197,7 +203,7 @@ class QuadTree> { _tryMergeRecursive(_rootNode); } - void _tryMergeRecursive(_Node node) { + void _tryMergeRecursive(QuadTreeNode node) { if (_noChildren(node)) { return; } @@ -243,7 +249,7 @@ class QuadTree> { return {id: values}; } - List _getChildrenItems(_Node parent) { + List _getChildrenItems(QuadTreeNode parent) { final list = []; for (final child in parent.children) { if (child != null) { @@ -256,7 +262,7 @@ class QuadTree> { return list; } - List _getParentItems(_Node node) { + List _getParentItems(QuadTreeNode node) { final list = []; final parent = node.parent; if (parent != null) { @@ -287,7 +293,7 @@ class QuadTree> { /// The class might be useful to render debugging info. /// See examples for details. class QuadTreeNodeDebugInfo { - QuadTreeNodeDebugInfo(this.rect, this._node, this.cd); + QuadTreeNodeDebugInfo(this.rect, this.node, this.cd); factory QuadTreeNodeDebugInfo.init(QuadTreeCollisionDetection cd) { final node = cd.broadphase.tree._rootNode; @@ -296,22 +302,23 @@ class QuadTreeNodeDebugInfo { } final Rect rect; - final _Node _node; + final QuadTreeNode node; final QuadTreeCollisionDetection cd; - List get ownElements => _node.hitboxes as List; + List get ownElements => node.hitboxes as List; List get allElements => - _node.valuesRecursive as List; + node.valuesRecursive as List; - bool get noChildren => _node.children[0] == null; + bool get noChildren => node.children[0] == null; - int get id => _node.id; + int get id => node.id; List get nodes { final list = [this]; - for (var i = 0; i < _node.children.length; i++) { - final node = _node.children[i]; + var i = 0; + for (final node in this.node.children) { + i++; if (node == null) { continue; } @@ -325,13 +332,13 @@ class QuadTreeNodeDebugInfo { } } -class _Node> { - final List<_Node?> children = +class QuadTreeNode> { + final List children = List.generate(4, (index) => null, growable: false); List hitboxes = []; - _Node? parent; + QuadTreeNode? parent; int id = 0; List get valuesRecursive { diff --git a/packages/flame/lib/src/collisions/hitboxes/circle_hitbox.dart b/packages/flame/lib/src/collisions/hitboxes/circle_hitbox.dart index 5c6205e92e..e0d8dac334 100644 --- a/packages/flame/lib/src/collisions/hitboxes/circle_hitbox.dart +++ b/packages/flame/lib/src/collisions/hitboxes/circle_hitbox.dart @@ -24,8 +24,8 @@ class CircleHitbox extends CircleComponent with ShapeHitbox { /// that fills half of the [parentSize]. CircleHitbox.relative( super.relation, { - super.position, required super.parentSize, + super.position, super.angle, super.anchor, bool isSolid = false, diff --git a/packages/flame/lib/src/collisions/hitboxes/polygon_hitbox.dart b/packages/flame/lib/src/collisions/hitboxes/polygon_hitbox.dart index 4c4b4666d7..49ace7324f 100644 --- a/packages/flame/lib/src/collisions/hitboxes/polygon_hitbox.dart +++ b/packages/flame/lib/src/collisions/hitboxes/polygon_hitbox.dart @@ -25,8 +25,8 @@ class PolygonHitbox extends PolygonComponent /// screen coordinate system) PolygonHitbox.relative( super.relation, { - super.position, required super.parentSize, + super.position, double super.angle = 0, super.anchor, bool isSolid = false, diff --git a/packages/flame/lib/src/collisions/hitboxes/rectangle_hitbox.dart b/packages/flame/lib/src/collisions/hitboxes/rectangle_hitbox.dart index 142f2e3548..fbf1913629 100644 --- a/packages/flame/lib/src/collisions/hitboxes/rectangle_hitbox.dart +++ b/packages/flame/lib/src/collisions/hitboxes/rectangle_hitbox.dart @@ -27,8 +27,8 @@ class RectangleHitbox extends RectangleComponent /// [parentSize]. RectangleHitbox.relative( super.relation, { - super.position, required super.parentSize, + super.position, super.angle, super.anchor, bool isSolid = false, diff --git a/packages/flame/lib/src/collisions/hitboxes/screen_hitbox.dart b/packages/flame/lib/src/collisions/hitboxes/screen_hitbox.dart index 447d568126..9b2d7f34f1 100644 --- a/packages/flame/lib/src/collisions/hitboxes/screen_hitbox.dart +++ b/packages/flame/lib/src/collisions/hitboxes/screen_hitbox.dart @@ -22,8 +22,8 @@ class ScreenHitbox extends PositionComponent } @override - void onGameResize(Vector2 gameSize) { - super.onGameResize(gameSize); - size = gameSize; + void onGameResize(Vector2 size) { + super.onGameResize(size); + this.size = size; } } diff --git a/packages/flame/lib/src/components/core/component.dart b/packages/flame/lib/src/components/core/component.dart index 74aa2021b1..e3ef3265ca 100644 --- a/packages/flame/lib/src/components/core/component.dart +++ b/packages/flame/lib/src/components/core/component.dart @@ -646,6 +646,7 @@ class Component { /// Changes the current parent for another parent and prepares the tree under /// the new root. + // ignore: use_setters_to_change_properties void changeParent(Component newParent) { parent = newParent; } @@ -748,6 +749,7 @@ class Component { /// component list isn't re-ordered when it is called. /// See FlameGame.changePriority instead. @Deprecated('Will be removed in 1.8.0. Use priority setter instead.') + // ignore: use_setters_to_change_properties void changePriorityWithoutResorting(int priority) => _priority = priority; /// Call this if any of this component's children priorities have changed diff --git a/packages/flame/lib/src/components/input/button_component.dart b/packages/flame/lib/src/components/input/button_component.dart index f23034787e..f758899b29 100644 --- a/packages/flame/lib/src/components/input/button_component.dart +++ b/packages/flame/lib/src/components/input/button_component.dart @@ -52,7 +52,7 @@ class ButtonComponent extends PositionComponent with TapCallbacks { @override @mustCallSuper - void onTapDown(TapDownEvent info) { + void onTapDown(TapDownEvent event) { if (buttonDown != null) { button!.removeFromParent(); buttonDown!.parent = this; @@ -62,7 +62,7 @@ class ButtonComponent extends PositionComponent with TapCallbacks { @override @mustCallSuper - void onTapUp(TapUpEvent info) { + void onTapUp(TapUpEvent event) { if (buttonDown != null) { buttonDown!.removeFromParent(); button!.parent = this; @@ -72,7 +72,7 @@ class ButtonComponent extends PositionComponent with TapCallbacks { @override @mustCallSuper - void onTapCancel(TapCancelEvent info) { + void onTapCancel(TapCancelEvent event) { if (buttonDown != null) { buttonDown!.removeFromParent(); button!.parent = this; diff --git a/packages/flame/lib/src/components/input/hud_margin_component.dart b/packages/flame/lib/src/components/input/hud_margin_component.dart index f44d4f940a..f665a36dc4 100644 --- a/packages/flame/lib/src/components/input/hud_margin_component.dart +++ b/packages/flame/lib/src/components/input/hud_margin_component.dart @@ -67,8 +67,8 @@ class HudMarginComponent extends PositionComponent } @override - void onGameResize(Vector2 gameSize) { - super.onGameResize(gameSize); + void onGameResize(Vector2 size) { + super.onGameResize(size); _updateMargins(); } diff --git a/packages/flame/lib/src/components/input/joystick_component.dart b/packages/flame/lib/src/components/input/joystick_component.dart index 3912fcde17..ef6301366b 100644 --- a/packages/flame/lib/src/components/input/joystick_component.dart +++ b/packages/flame/lib/src/components/input/joystick_component.dart @@ -105,14 +105,14 @@ class JoystickComponent extends HudMarginComponent with DragCallbacks { } @override - bool onDragStart(DragStartEvent info) { - super.onDragStart(info); + bool onDragStart(DragStartEvent event) { + super.onDragStart(event); return false; } @override - bool onDragUpdate(DragUpdateEvent info) { - _unscaledDelta.add(info.delta); + bool onDragUpdate(DragUpdateEvent event) { + _unscaledDelta.add(event.delta); return false; } diff --git a/packages/flame/lib/src/components/isometric_tile_map_component.dart b/packages/flame/lib/src/components/isometric_tile_map_component.dart index 8c050b2e22..669de04b14 100644 --- a/packages/flame/lib/src/components/isometric_tile_map_component.dart +++ b/packages/flame/lib/src/components/isometric_tile_map_component.dart @@ -9,8 +9,11 @@ import 'package:meta/meta.dart'; /// Represents a position in a matrix, or in this case, on the tilemap. @immutable class Block { - /// x and y coordinates on the matrix - final int x, y; + /// x coordinate in the matrix. + final int x; + + /// y coordinate in the matrix. + final int y; const Block(this.x, this.y); @@ -77,7 +80,7 @@ class IsometricTileMapComponent extends PositionComponent { Sprite _renderSprite; @override - void render(Canvas c) { + void render(Canvas canvas) { _renderSprite.image = tileset.image; final size = effectiveTileSize; for (var i = 0; i < matrix.length; i++) { @@ -87,7 +90,7 @@ class IsometricTileMapComponent extends PositionComponent { _renderSprite = tileset.getSpriteById(element); final p = getBlockRenderPositionInts(j, i); _renderSprite.render( - c, + canvas, position: p, size: size, ); diff --git a/packages/flame/lib/src/components/mixins/has_paint.dart b/packages/flame/lib/src/components/mixins/has_paint.dart index ccb8f46b87..2c5b5bfb37 100644 --- a/packages/flame/lib/src/components/mixins/has_paint.dart +++ b/packages/flame/lib/src/components/mixins/has_paint.dart @@ -30,16 +30,16 @@ mixin HasPaint on Component /// Returns the main paint if no [paintId] is provided. Paint getPaint([T? paintId]) { if (paintId == null) { - return paint; + return this.paint; } - final _paint = _paints[paintId]; + final paint = _paints[paintId]; - if (_paint == null) { + if (paint == null) { throw ArgumentError('No Paint found for $paintId'); } - return _paint; + return paint; } /// Sets a paint on the collection. @@ -153,8 +153,8 @@ mixin HasPaint on Component }) { return _MultiPaintOpacityProvider( paintIds ?? (List.from(_paints.keys)..add(null)), - includeLayers, this, + includeLayers: includeLayers, ); } } @@ -173,7 +173,11 @@ class _ProxyOpacityProvider implements OpacityProvider { } class _MultiPaintOpacityProvider implements OpacityProvider { - _MultiPaintOpacityProvider(this.paintIds, this.includeLayers, this.target) { + _MultiPaintOpacityProvider( + this.paintIds, + this.target, { + required this.includeLayers, + }) { final maxOpacity = opacity; _opacityRatios = [ diff --git a/packages/flame/lib/src/components/mixins/single_child_particle.dart b/packages/flame/lib/src/components/mixins/single_child_particle.dart index cc385e3463..ac9544da6b 100644 --- a/packages/flame/lib/src/components/mixins/single_child_particle.dart +++ b/packages/flame/lib/src/components/mixins/single_child_particle.dart @@ -32,8 +32,8 @@ mixin SingleChildParticle on Particle { } @override - void render(Canvas c) { - child.render(c); + void render(Canvas canvas) { + child.render(canvas); } @override diff --git a/packages/flame/lib/src/components/nine_tile_box_component.dart b/packages/flame/lib/src/components/nine_tile_box_component.dart index 2c54d79503..7d67001cb0 100644 --- a/packages/flame/lib/src/components/nine_tile_box_component.dart +++ b/packages/flame/lib/src/components/nine_tile_box_component.dart @@ -37,7 +37,7 @@ class NineTileBoxComponent extends PositionComponent implements SizeProvider { @mustCallSuper @override - void render(Canvas c) { - nineTileBox?.drawRect(c, size.toRect()); + void render(Canvas canvas) { + nineTileBox?.drawRect(canvas, size.toRect()); } } diff --git a/packages/flame/lib/src/components/router_component.dart b/packages/flame/lib/src/components/router_component.dart index 520d1c850f..f185d54692 100644 --- a/packages/flame/lib/src/components/router_component.dart +++ b/packages/flame/lib/src/components/router_component.dart @@ -31,7 +31,7 @@ class RouterComponent extends Component { RouterComponent({ required this.initialRoute, required Map routes, - Map? routeFactories, + Map? routeFactories, this.onUnknownRoute, }) : _routes = routes, _routeFactories = routeFactories ?? {} { @@ -64,12 +64,12 @@ class RouterComponent extends Component { /// "prefix/arg". For such a name, we will call the factory "prefix" with the /// argument "arg". The produced route will be cached in the main [_routes] /// map, and then built and mounted normally. - final Map _routeFactories; + final Map _routeFactories; /// Function that will be called to resolve any route names that couldn't be /// resolved via [_routes] or [_routeFactories]. Unlike with routeFactories, /// the route returned by this function will not be cached. - final _RouteFactory? onUnknownRoute; + final RouteFactory? onUnknownRoute; /// Returns the route that is currently at the top of the stack. Route get currentRoute => _routeStack.last; @@ -295,4 +295,4 @@ class RouterComponent extends Component { } } -typedef _RouteFactory = Route Function(String parameter); +typedef RouteFactory = Route Function(String parameter); diff --git a/packages/flame/lib/src/components/text_box_component.dart b/packages/flame/lib/src/components/text_box_component.dart index eb3f0a2016..787fea1e03 100644 --- a/packages/flame/lib/src/components/text_box_component.dart +++ b/packages/flame/lib/src/components/text_box_component.dart @@ -183,10 +183,10 @@ class TextBoxComponent extends TextComponent { int get currentLine { var totalCharCount = 0; - final _currentChar = currentChar; + final cachedCurrentChar = currentChar; for (var i = 0; i < lines.length; i++) { totalCharCount += lines[i].length; - if (totalCharCount > _currentChar) { + if (totalCharCount > cachedCurrentChar) { return i; } } @@ -205,11 +205,12 @@ class TextBoxComponent extends TextComponent { } else if (_boxConfig.growingBox) { var i = 0; var totalCharCount = 0; - final _currentChar = currentChar; - final _currentLine = currentLine; - final textWidth = lines.sublist(0, _currentLine + 1).map((line) { - final charCount = - (i < _currentLine) ? line.length : (_currentChar - totalCharCount); + final cachedCurrentChar = currentChar; + final cachedCurrentLine = currentLine; + final textWidth = lines.sublist(0, cachedCurrentLine + 1).map((line) { + final charCount = (i < cachedCurrentLine) + ? line.length + : (cachedCurrentChar - totalCharCount); totalCharCount += line.length; i++; return getLineWidth(line, charCount); @@ -227,14 +228,14 @@ class TextBoxComponent extends TextComponent { } @override - void render(Canvas c) { + void render(Canvas canvas) { if (cache == null) { return; } - c.save(); - c.scale(1 / pixelRatio); - c.drawImage(cache!, Offset.zero, _imagePaint); - c.restore(); + canvas.save(); + canvas.scale(1 / pixelRatio); + canvas.drawImage(cache!, Offset.zero, _imagePaint); + canvas.restore(); } Future _fullRenderAsImage(Vector2 size) { diff --git a/packages/flame/lib/src/components/value_route.dart b/packages/flame/lib/src/components/value_route.dart index dbb5f62a4c..c15ddbab15 100644 --- a/packages/flame/lib/src/components/value_route.dart +++ b/packages/flame/lib/src/components/value_route.dart @@ -37,7 +37,7 @@ abstract class ValueRoute extends Route { @mustCallSuper @override - void didPop(Route previousRoute) { + void didPop(Route nextRoute) { if (!_completer.isCompleted) { _completer.complete(_defaultValue); } diff --git a/packages/flame/lib/src/effects/glow_effect.dart b/packages/flame/lib/src/effects/glow_effect.dart index e483772c00..00a27dda89 100644 --- a/packages/flame/lib/src/effects/glow_effect.dart +++ b/packages/flame/lib/src/effects/glow_effect.dart @@ -18,9 +18,7 @@ class GlowEffect extends Effect with EffectTarget { @override void apply(double progress) { - final _value = strength * progress; - - target.paint.maskFilter = MaskFilter.blur(style, _value); + target.paint.maskFilter = MaskFilter.blur(style, strength * progress); } @override diff --git a/packages/flame/lib/src/effects/sequence_effect.dart b/packages/flame/lib/src/effects/sequence_effect.dart index 999f70e876..b06be35110 100644 --- a/packages/flame/lib/src/effects/sequence_effect.dart +++ b/packages/flame/lib/src/effects/sequence_effect.dart @@ -39,7 +39,10 @@ class SequenceEffect extends Effect { !(infinite && repeatCount != 1), 'Parameters infinite and repeatCount cannot be specified simultaneously', ); - EffectController ec = _SequenceEffectEffectController(effects, alternate); + EffectController ec = _SequenceEffectEffectController( + effects, + alternate: alternate, + ); if (infinite) { ec = InfiniteEffectController(ec); } else if (repeatCount > 1) { @@ -75,9 +78,9 @@ class SequenceEffect extends Effect { /// `SequenceEffect.apply()` is empty. class _SequenceEffectEffectController extends EffectController { _SequenceEffectEffectController( - this.effects, - this.alternate, - ) : super.empty(); + this.effects, { + required this.alternate, + }) : super.empty(); /// The list of children effects. final List effects; diff --git a/packages/flame/lib/src/experimental/geometry/shapes/polygon.dart b/packages/flame/lib/src/experimental/geometry/shapes/polygon.dart index 73229691c2..6d32764437 100644 --- a/packages/flame/lib/src/experimental/geometry/shapes/polygon.dart +++ b/packages/flame/lib/src/experimental/geometry/shapes/polygon.dart @@ -218,18 +218,18 @@ class Polygon extends Shape { static final Vector2 _tmpResult = Vector2.zero(); @override - Vector2 nearestPoint(Vector2 externalPoint) { + Vector2 nearestPoint(Vector2 point) { var shortestDistance2 = double.infinity; for (var i = 0; i < _vertices.length; i++) { final vertex = _vertices[i]; final edge = _edges[i]; - final dotProduct = (externalPoint.x - vertex.x) * edge.x + - (externalPoint.y - vertex.y) * edge.y; + final dotProduct = + (point.x - vertex.x) * edge.x + (point.y - vertex.y) * edge.y; final t = (dotProduct / edge.length2).clamp(-1.0, 0.0); final edgePointX = vertex.x + edge.x * t; final edgePointY = vertex.y + edge.y * t; - final dx = edgePointX - externalPoint.x; - final dy = edgePointY - externalPoint.y; + final dx = edgePointX - point.x; + final dy = edgePointY - point.y; final distance2 = dx * dx + dy * dy; if (distance2 < shortestDistance2) { shortestDistance2 = distance2; diff --git a/packages/flame/lib/src/experimental/geometry/shapes/shape.dart b/packages/flame/lib/src/experimental/geometry/shapes/shape.dart index bb3466672f..abaca8fa69 100644 --- a/packages/flame/lib/src/experimental/geometry/shapes/shape.dart +++ b/packages/flame/lib/src/experimental/geometry/shapes/shape.dart @@ -84,13 +84,13 @@ abstract class Shape { Vector2 support(Vector2 direction); /// Returns a point on the shape's boundary which is closest to the given - /// [externalPoint]. + /// [point]. /// - /// The [externalPoint] must lie outside of the shape. If there are multiple - /// nearest points, any one can be returned. + /// The [point] must lie outside of the shape. If there are multiple nearest + /// points, any one can be returned. /// - /// This method will not modify [externalPoint]. At the same time, the caller - /// does not get ownership of the returned object: they must treat it as an + /// This method will not modify [point]. At the same time, the caller does + /// not get ownership of the returned object: they must treat it as an /// immutable short-lived object. - Vector2 nearestPoint(Vector2 externalPoint); + Vector2 nearestPoint(Vector2 point); } diff --git a/packages/flame/lib/src/game/camera/camera_wrapper.dart b/packages/flame/lib/src/game/camera/camera_wrapper.dart index e3eb006bbf..a887fc8448 100644 --- a/packages/flame/lib/src/game/camera/camera_wrapper.dart +++ b/packages/flame/lib/src/game/camera/camera_wrapper.dart @@ -21,12 +21,12 @@ class CameraWrapper { } void render(Canvas canvas) { - PositionType? _previousType; + PositionType? previousType; canvas.save(); world.forEach((component) { - final sameType = component.positionType == _previousType; + final sameType = component.positionType == previousType; if (!sameType) { - if (_previousType != null && _previousType != PositionType.widget) { + if (previousType != null && previousType != PositionType.widget) { canvas.restore(); canvas.save(); } @@ -42,10 +42,10 @@ class CameraWrapper { } } component.renderTree(canvas); - _previousType = component.positionType; + previousType = component.positionType; }); - if (_previousType != PositionType.widget) { + if (previousType != PositionType.widget) { canvas.restore(); } } diff --git a/packages/flame/lib/src/game/camera/viewport.dart b/packages/flame/lib/src/game/camera/viewport.dart index b37842a73b..c4612695ec 100644 --- a/packages/flame/lib/src/game/camera/viewport.dart +++ b/packages/flame/lib/src/game/camera/viewport.dart @@ -92,16 +92,16 @@ class DefaultViewport extends Viewport { Vector2 get effectiveSize => canvasSize!; @override - Vector2 projectVector(Vector2 vector) => vector; + Vector2 projectVector(Vector2 worldCoordinates) => worldCoordinates; @override - Vector2 unprojectVector(Vector2 vector) => vector; + Vector2 unprojectVector(Vector2 screenCoordinates) => screenCoordinates; @override - Vector2 scaleVector(Vector2 vector) => vector; + Vector2 scaleVector(Vector2 worldCoordinates) => worldCoordinates; @override - Vector2 unscaleVector(Vector2 vector) => vector; + Vector2 unscaleVector(Vector2 screenCoordinates) => screenCoordinates; } /// This is the most common viewport if you want to have full control of what @@ -183,6 +183,7 @@ class FixedResolutionViewport extends Viewport { } @override + // ignore: avoid_renaming_method_parameters Vector2 projectVector(Vector2 viewportCoordinates) { return (viewportCoordinates * _scale)..add(_resizeOffset); } @@ -193,6 +194,7 @@ class FixedResolutionViewport extends Viewport { } @override + // ignore: avoid_renaming_method_parameters Vector2 scaleVector(Vector2 viewportCoordinates) { return viewportCoordinates * scale; } diff --git a/packages/flame/lib/src/game/flame_game.dart b/packages/flame/lib/src/game/flame_game.dart index e7c0c18a4b..1d8a523805 100644 --- a/packages/flame/lib/src/game/flame_game.dart +++ b/packages/flame/lib/src/game/flame_game.dart @@ -107,14 +107,14 @@ class FlameGame extends ComponentTreeRoot /// the coordinate system appropriately. @override @mustCallSuper - void onGameResize(Vector2 canvasSize) { - camera.handleResize(canvasSize); - super.onGameResize(canvasSize); + void onGameResize(Vector2 size) { + camera.handleResize(size); + super.onGameResize(size); // [onGameResize] is declared both in [Component] and in [Game]. Since // there is no way to explicitly call the [Component]'s implementation, // we propagate the event to [FlameGame]'s children manually. - handleResize(canvasSize); - children.forEach((child) => child.onParentResize(canvasSize)); + handleResize(size); + children.forEach((child) => child.onParentResize(size)); } /// Ensure that all pending tree operations finish. diff --git a/packages/flame/lib/src/game/game_render_box.dart b/packages/flame/lib/src/game/game_render_box.dart index 88c5eec04e..21abce802a 100644 --- a/packages/flame/lib/src/game/game_render_box.dart +++ b/packages/flame/lib/src/game/game_render_box.dart @@ -8,18 +8,18 @@ import 'package:flutter/widgets.dart' hide WidgetBuilder; /// This is the widget that is used by the [GameWidget] to ACTUALLY /// render the game. class RenderGameWidget extends LeafRenderObjectWidget { - final Game game; - final bool addRepaintBoundary; - const RenderGameWidget({ - super.key, required this.game, required this.addRepaintBoundary, + super.key, }); + final Game game; + final bool addRepaintBoundary; + @override RenderBox createRenderObject(BuildContext context) { - return GameRenderBox(game, context, addRepaintBoundary); + return GameRenderBox(game, context, isRepaintBoundary: addRepaintBoundary); } @override @@ -34,9 +34,10 @@ class RenderGameWidget extends LeafRenderObjectWidget { class GameRenderBox extends RenderBox with WidgetsBindingObserver { GameRenderBox( this._game, - this.buildContext, - this._isRepaintBoundary, - ); + this.buildContext, { + required bool isRepaintBoundary, + } + ) : _isRepaintBoundary = isRepaintBoundary; GameLoop? gameLoop; @@ -63,7 +64,7 @@ class GameRenderBox extends RenderBox with WidgetsBindingObserver { } } - bool _isRepaintBoundary = false; + bool _isRepaintBoundary; set isRepaintBoundary(bool value) { if (_isRepaintBoundary == value) { diff --git a/packages/flame/lib/src/game/game_widget/game_widget.dart b/packages/flame/lib/src/game/game_widget/game_widget.dart index 9a05f9c13f..c86bffad87 100644 --- a/packages/flame/lib/src/game/game_widget/game_widget.dart +++ b/packages/flame/lib/src/game/game_widget/game_widget.dart @@ -165,7 +165,7 @@ class GameWidget extends StatefulWidget { /// /// To use overlays, the game subclass has to be mixed with HasWidgetsOverlay. @override - _GameWidgetState createState() => _GameWidgetState(); + GameWidgetState createState() => GameWidgetState(); void _initializeGame(T game) { if (mouseCursor != null) { @@ -185,7 +185,7 @@ class GameWidget extends StatefulWidget { } } -class _GameWidgetState extends State> { +class GameWidgetState extends State> { late T currentGame; Future get loaderFuture => _loaderFuture ??= (() async { diff --git a/packages/flame/lib/src/game/notifying_vector2.dart b/packages/flame/lib/src/game/notifying_vector2.dart index 0af8f88eda..6ed4200ae1 100644 --- a/packages/flame/lib/src/game/notifying_vector2.dart +++ b/packages/flame/lib/src/game/notifying_vector2.dart @@ -23,14 +23,14 @@ class NotifyingVector2 extends Vector2 with ChangeNotifier { NotifyingVector2.zero()..setFrom(v); @override - void setValues(double x, double y) { - super.setValues(x, y); + void setValues(double x_, double y_) { + super.setValues(x_, y_); notifyListeners(); } @override - void setFrom(Vector2 v) { - super.setFrom(v); + void setFrom(Vector2 other) { + super.setFrom(other); notifyListeners(); } diff --git a/packages/flame/lib/src/game/overlay_manager.dart b/packages/flame/lib/src/game/overlay_manager.dart index 4026cb1050..b53fe6c6e6 100644 --- a/packages/flame/lib/src/game/overlay_manager.dart +++ b/packages/flame/lib/src/game/overlay_manager.dart @@ -12,7 +12,7 @@ class OverlayManager { final Game _game; final List _activeOverlays = []; - final Map _builders = {}; + final Map _builders = {}; /// The names of all currently active overlays. UnmodifiableListView get activeOverlays { @@ -59,7 +59,7 @@ class OverlayManager { } /// Adds a named overlay builder - void addEntry(String name, _OverlayBuilderFunction builder) { + void addEntry(String name, OverlayBuilderFunction builder) { _builders[name] = builder; } @@ -97,7 +97,7 @@ class OverlayManager { } } -typedef _OverlayBuilderFunction = Widget Function( +typedef OverlayBuilderFunction = Widget Function( BuildContext context, Game game, ); diff --git a/packages/flame/lib/src/image_composition.dart b/packages/flame/lib/src/image_composition.dart index 987c5f93ea..bf07eb1b96 100644 --- a/packages/flame/lib/src/image_composition.dart +++ b/packages/flame/lib/src/image_composition.dart @@ -73,8 +73,8 @@ class ImageComposition { source, angle, anchor, - isAntiAlias, blendMode, + antiAlias: isAntiAlias, ), ); } @@ -94,7 +94,7 @@ class ImageComposition { final source = compose.source; final rotation = compose.angle; final anchor = compose.anchor; - final isAntiAlias = compose.isAntiAlias; + final isAntiAlias = compose.antiAlias; final blendMode = compose.blendMode; final destination = Rect.fromLTWH(0, 0, source.width, source.height); final realDest = destination.translate(position.x, position.y); @@ -133,8 +133,10 @@ class _Fragment { this.source, this.angle, this.anchor, - this.isAntiAlias, this.blendMode, + { + required this.antiAlias, + } ); /// The image that will be composed. @@ -153,7 +155,7 @@ class _Fragment { /// (defaults to the centre of the [source]). final Vector2 anchor; - final bool isAntiAlias; + final bool antiAlias; /// The [BlendMode] that will be used when composing the [image]. final BlendMode blendMode; diff --git a/packages/flame/lib/src/parallax.dart b/packages/flame/lib/src/parallax.dart index 3aca13dfbc..c832a48b66 100644 --- a/packages/flame/lib/src/parallax.dart +++ b/packages/flame/lib/src/parallax.dart @@ -150,7 +150,7 @@ class ParallaxImage extends ParallaxRenderer { Image get image => _image; @override - void update(_) { + void update(double dt) { // noop } } diff --git a/packages/flame/lib/src/particles/circle_particle.dart b/packages/flame/lib/src/particles/circle_particle.dart index 43b7509a52..0671031c2c 100644 --- a/packages/flame/lib/src/particles/circle_particle.dart +++ b/packages/flame/lib/src/particles/circle_particle.dart @@ -16,7 +16,7 @@ class CircleParticle extends Particle { }); @override - void render(Canvas c) { - c.drawCircle(Offset.zero, radius, paint); + void render(Canvas canvas) { + canvas.drawCircle(Offset.zero, radius, paint); } } diff --git a/packages/flame/lib/src/particles/composed_particle.dart b/packages/flame/lib/src/particles/composed_particle.dart index fea8c6fe20..c104ae442d 100644 --- a/packages/flame/lib/src/particles/composed_particle.dart +++ b/packages/flame/lib/src/particles/composed_particle.dart @@ -29,9 +29,9 @@ class ComposedParticle extends Particle { } @override - void render(Canvas c) { + void render(Canvas canvas) { for (final child in children) { - child.render(c); + child.render(canvas); } } diff --git a/packages/flame/lib/src/particles/moving_particle.dart b/packages/flame/lib/src/particles/moving_particle.dart index 763159a0e1..5a55ceb942 100644 --- a/packages/flame/lib/src/particles/moving_particle.dart +++ b/packages/flame/lib/src/particles/moving_particle.dart @@ -25,13 +25,13 @@ class MovingParticle extends CurvedParticle with SingleChildParticle { static final _tmpVector = Vector2.zero(); @override - void render(Canvas c) { - c.save(); + void render(Canvas canvas) { + canvas.save(); final current = _tmpVector ..setFrom(from) ..lerp(to, progress); - c.translateVector(current); - super.render(c); - c.restore(); + canvas.translateVector(current); + super.render(canvas); + canvas.restore(); } } diff --git a/packages/flame/lib/src/particles/particle.dart b/packages/flame/lib/src/particles/particle.dart index 461293db0a..e773049e2f 100644 --- a/packages/flame/lib/src/particles/particle.dart +++ b/packages/flame/lib/src/particles/particle.dart @@ -25,8 +25,8 @@ abstract class Particle { /// /// Useful for procedural particle generation. static Particle generate({ - int count = 10, required ParticleGenerator generator, + int count = 10, double? lifespan, bool applyLifespanToChildren = true, }) { @@ -111,8 +111,8 @@ abstract class Particle { /// /// Allowing it to move from one [Vector2] to another one. Particle moving({ - Vector2? from, required Vector2 to, + Vector2? from, Curve curve = Curves.linear, }) { return MovingParticle( diff --git a/packages/flame/lib/src/particles/translated_particle.dart b/packages/flame/lib/src/particles/translated_particle.dart index 696480ca6c..ca0d625e67 100644 --- a/packages/flame/lib/src/particles/translated_particle.dart +++ b/packages/flame/lib/src/particles/translated_particle.dart @@ -18,10 +18,10 @@ class TranslatedParticle extends Particle with SingleChildParticle { }); @override - void render(Canvas c) { - c.save(); - c.translateVector(offset); - super.render(c); - c.restore(); + void render(Canvas canvas) { + canvas.save(); + canvas.translateVector(offset); + super.render(canvas); + canvas.restore(); } } diff --git a/packages/flame/lib/src/sprite.dart b/packages/flame/lib/src/sprite.dart index 313111a83d..ccdda423bf 100644 --- a/packages/flame/lib/src/sprite.dart +++ b/packages/flame/lib/src/sprite.dart @@ -38,8 +38,8 @@ class Sprite { Vector2? srcSize, Images? images, }) async { - final _images = images ?? Flame.images; - final image = await _images.load(src); + final imagesCache = images ?? Flame.images; + final image = await imagesCache.load(src); return Sprite(image, srcPosition: srcPosition, srcSize: srcSize); } diff --git a/packages/flame/lib/src/sprite_animation.dart b/packages/flame/lib/src/sprite_animation.dart index 0208aa842e..d517f27976 100644 --- a/packages/flame/lib/src/sprite_animation.dart +++ b/packages/flame/lib/src/sprite_animation.dart @@ -241,8 +241,8 @@ class SpriteAnimation { SpriteAnimationData data, { Images? images, }) async { - final _images = images ?? Flame.images; - final image = await _images.load(src); + final imagesCache = images ?? Flame.images; + final image = await imagesCache.load(src); return SpriteAnimation.fromFrameData(image, data); } diff --git a/packages/flame/lib/src/sprite_batch.dart b/packages/flame/lib/src/sprite_batch.dart index 4e7e9133f6..8a633fed58 100644 --- a/packages/flame/lib/src/sprite_batch.dart +++ b/packages/flame/lib/src/sprite_batch.dart @@ -37,8 +37,8 @@ class BatchItem { BatchItem({ required this.source, required this.transform, - this.flip = false, required this.color, + this.flip = false, }) : paint = Paint()..color = color, destination = Offset.zero & source.size; @@ -116,14 +116,14 @@ class SpriteBatch { Images? images, bool useAtlas = true, }) async { - final _images = images ?? Flame.images; + final imagesCache = images ?? Flame.images; return SpriteBatch( - await _images.load(path), + await imagesCache.load(path), defaultColor: defaultColor, defaultTransform: defaultTransform ?? RSTransform(1, 0, 0, 0), defaultBlendMode: defaultBlendMode, useAtlas: useAtlas, - imageCache: _images, + imageCache: imagesCache, imageKey: path, ); } @@ -226,7 +226,6 @@ class SpriteBatch { Future _generateFlippedAtlas(Image image) { final recorder = PictureRecorder(); final canvas = Canvas(recorder); - final _emptyPaint = Paint(); canvas.drawImage(image, Offset.zero, _emptyPaint); canvas.scale(-1, 1); canvas.drawImage(image, Offset(-image.width * 2, 0), _emptyPaint); @@ -346,7 +345,8 @@ class SpriteBatch { _batchItems.clear(); } - // Used to not create new paint objects in [render] on every tick. + // Used to not create new Paint objects in [render] and + // [generateFlippedAtlas]. final Paint _emptyPaint = Paint(); void render( diff --git a/packages/flame/lib/src/text/nodes/column_node.dart b/packages/flame/lib/src/text/nodes/column_node.dart index d01927b5c2..ba23d66f01 100644 --- a/packages/flame/lib/src/text/nodes/column_node.dart +++ b/packages/flame/lib/src/text/nodes/column_node.dart @@ -56,9 +56,9 @@ abstract class ColumnNode extends BlockNode { @mustCallSuper @override - void fillStyles(DocumentStyle rootStyle, FlameTextStyle parentTextStyle) { + void fillStyles(DocumentStyle stylesheet, FlameTextStyle parentTextStyle) { for (final node in children) { - node.fillStyles(rootStyle, parentTextStyle); + node.fillStyles(stylesheet, parentTextStyle); } } } diff --git a/packages/flame/lib/src/widgets/components_notifier_builder.dart b/packages/flame/lib/src/widgets/components_notifier_builder.dart index 6db240ad4f..e2d3473bbd 100644 --- a/packages/flame/lib/src/widgets/components_notifier_builder.dart +++ b/packages/flame/lib/src/widgets/components_notifier_builder.dart @@ -4,9 +4,9 @@ import 'package:flutter/material.dart'; /// A widget that rebuilds every time the given [notifier] changes. class ComponentsNotifierBuilder extends StatefulWidget { const ComponentsNotifierBuilder({ - super.key, required this.notifier, required this.builder, + super.key, }); final ComponentsNotifier notifier; diff --git a/packages/flame/lib/src/widgets/sprite_painter.dart b/packages/flame/lib/src/widgets/sprite_painter.dart index b3d00d2a42..02cfc508ed 100644 --- a/packages/flame/lib/src/widgets/sprite_painter.dart +++ b/packages/flame/lib/src/widgets/sprite_painter.dart @@ -14,10 +14,10 @@ class SpritePainter extends CustomPainter { : _angle = angle; @override - bool shouldRepaint(SpritePainter old) { - return old._sprite != _sprite || - old._anchor != _anchor || - old._angle != _angle; + bool shouldRepaint(SpritePainter oldDelegate) { + return oldDelegate._sprite != _sprite || + oldDelegate._anchor != _anchor || + oldDelegate._angle != _angle; } @override diff --git a/packages/flame/lib/src/widgets/sprite_widget.dart b/packages/flame/lib/src/widgets/sprite_widget.dart index 88184d7da7..fa496de06d 100644 --- a/packages/flame/lib/src/widgets/sprite_widget.dart +++ b/packages/flame/lib/src/widgets/sprite_widget.dart @@ -104,12 +104,10 @@ class InternalSpriteWidget extends StatelessWidget { }); @override - Widget build(_) { - return Container( - child: CustomPaint( - painter: SpritePainter(sprite, anchor, angle: angle), - size: sprite.srcSize.toSize(), - ), + Widget build(BuildContext context) { + return CustomPaint( + painter: SpritePainter(sprite, anchor, angle: angle), + size: sprite.srcSize.toSize(), ); } } diff --git a/packages/flame/test/components/fps_component_test.dart b/packages/flame/test/components/fps_component_test.dart index d9749fd300..a428003f92 100644 --- a/packages/flame/test/components/fps_component_test.dart +++ b/packages/flame/test/components/fps_component_test.dart @@ -3,7 +3,7 @@ import 'package:flame_test/flame_test.dart'; import 'package:test/test.dart'; void main() { - const _diff = 0.0000000000001; + const diff = 0.0000000000001; group('FPSComponent', () { testWithFlameGame('reports correct FPS for 1 frames', (game) async { @@ -12,7 +12,7 @@ void main() { expect(fpsComponent.fps, 0); game.update(1 / 60); - expect(fpsComponent.fps, closeTo(60, _diff)); + expect(fpsComponent.fps, closeTo(60, diff)); }); testWithFlameGame('reports correct FPS with full window', (game) async { @@ -23,7 +23,7 @@ void main() { game.update(1 / 60); } - expect(fpsComponent.fps, closeTo(60, _diff)); + expect(fpsComponent.fps, closeTo(60, diff)); }); testWithFlameGame('reports correct FPS with slided window', (game) async { @@ -34,7 +34,7 @@ void main() { game.update(1 / 60); } - expect(fpsComponent.fps, closeTo(60, _diff)); + expect(fpsComponent.fps, closeTo(60, diff)); }); testWithFlameGame('reports correct FPS with varying dt', (game) async { @@ -46,7 +46,7 @@ void main() { game.update(dt); } - expect(fpsComponent.fps, closeTo(100 / 1.5, _diff)); + expect(fpsComponent.fps, closeTo(100 / 1.5, diff)); }); }); } diff --git a/packages/flame/test/components/position_component_test.dart b/packages/flame/test/components/position_component_test.dart index da2e6f9867..a5b1a021ef 100644 --- a/packages/flame/test/components/position_component_test.dart +++ b/packages/flame/test/components/position_component_test.dart @@ -320,8 +320,8 @@ void main() { final bottomLeftPoint = Vector2(topLeftPoint.x, bottomRightPoint.y); final epsilon = Vector2.all(0.0001); void checkOutsideCorners( - bool expectedResult, { - bool? topLeftResult, + { + required bool expectedResult, bool? topLeftResult, bool? bottomRightResult, bool? topRightResult, bool? bottomLeftResult, @@ -352,20 +352,20 @@ void main() { ); } - checkOutsideCorners(false); + checkOutsideCorners(expectedResult: false); component.scale = Vector2.all(1.0001); - checkOutsideCorners(true); + checkOutsideCorners(expectedResult: true); component.angle = 1; - checkOutsideCorners(false); + checkOutsideCorners(expectedResult: false); component.angle = 0; component.anchor = Anchor.topLeft; - checkOutsideCorners(false, bottomRightResult: true); + checkOutsideCorners(expectedResult: false, bottomRightResult: true); component.anchor = Anchor.bottomRight; - checkOutsideCorners(false, topLeftResult: true); + checkOutsideCorners(expectedResult: false, topLeftResult: true); component.anchor = Anchor.topRight; - checkOutsideCorners(false, bottomLeftResult: true); + checkOutsideCorners(expectedResult: false, bottomLeftResult: true); component.anchor = Anchor.bottomLeft; - checkOutsideCorners(false, topRightResult: true); + checkOutsideCorners(expectedResult: false, topRightResult: true); }); }); diff --git a/packages/flame/test/effects/opacity_effect_test.dart b/packages/flame/test/effects/opacity_effect_test.dart index cfcbb5f115..a3ac19e079 100644 --- a/packages/flame/test/effects/opacity_effect_test.dart +++ b/packages/flame/test/effects/opacity_effect_test.dart @@ -21,7 +21,7 @@ class _CustomPaintComponent extends Component enum _PaintTypes { paint1, paint2, paint3 } void main() { - const _epsilon = 0.004; // 1/255, since alpha only holds 8 bits + const epsilon = 0.004; // 1/255, since alpha only holds 8 bits group('OpacityEffect', () { testWithFlameGame('relative', (game) async { @@ -37,13 +37,13 @@ void main() { expect(component.children.length, 1); game.update(0.5); - expectDouble(component.getOpacity(), 0.4, epsilon: _epsilon); + expectDouble(component.getOpacity(), 0.4, epsilon: epsilon); game.update(0.5); - expectDouble(component.getOpacity(), 0.6, epsilon: _epsilon); + expectDouble(component.getOpacity(), 0.6, epsilon: epsilon); game.update(0); expect(component.children.length, 0); - expectDouble(component.getOpacity(), 0.6, epsilon: _epsilon); + expectDouble(component.getOpacity(), 0.6, epsilon: epsilon); }); testWithFlameGame('absolute', (game) async { @@ -59,13 +59,13 @@ void main() { expect(component.children.length, 1); game.update(0.5); - expectDouble(component.getOpacity(), 0.3, epsilon: _epsilon); + expectDouble(component.getOpacity(), 0.3, epsilon: epsilon); game.update(0.5); - expectDouble(component.getOpacity(), 0.4, epsilon: _epsilon); + expectDouble(component.getOpacity(), 0.4, epsilon: epsilon); game.update(0); expect(component.children.length, 0); - expectDouble(component.getOpacity(), 0.4, epsilon: _epsilon); + expectDouble(component.getOpacity(), 0.4, epsilon: epsilon); }); testWithFlameGame('reset relative', (game) async { @@ -81,7 +81,7 @@ void main() { ); component.add(effect..removeOnFinish = false); for (var i = 0; i < 5; i++) { - expectDouble(component.getOpacity(), 1.0 - step * i, epsilon: _epsilon); + expectDouble(component.getOpacity(), 1.0 - step * i, epsilon: epsilon); // After each reset the object will have its opacity modified by -10/255 // relative to its opacity at the start of the effect. effect.reset(); @@ -89,7 +89,7 @@ void main() { expectDouble( component.getOpacity(), 1.0 - step * (i + 1), - epsilon: _epsilon, + epsilon: epsilon, ); } }); @@ -136,18 +136,18 @@ void main() { expectDouble( component.getOpacity(), 0.55, // 0.5/10 + 0.5*1 - epsilon: _epsilon, + epsilon: epsilon, ); game.update(1); expectDouble( component.getOpacity(), 0.1, - epsilon: _epsilon, + epsilon: epsilon, ); // 0.5*2/10 + 0.5*1 - 0.5*1 for (var i = 0; i < 10; i++) { game.update(1); } - expectDouble(component.getOpacity(), 0.5, epsilon: _epsilon); + expectDouble(component.getOpacity(), 0.5, epsilon: epsilon); expect(component.children.length, 0); }); @@ -381,7 +381,7 @@ void main() { game.update(dt); } game.update(1000 - totalTime); - expectDouble(component.getOpacity(), 1.0, epsilon: _epsilon); + expectDouble(component.getOpacity(), 1.0, epsilon: epsilon); }); }); } diff --git a/packages/flame/test/effects/sequence_effect_test.dart b/packages/flame/test/effects/sequence_effect_test.dart index 5d1aabfa1c..bb8e9a7fc0 100644 --- a/packages/flame/test/effects/sequence_effect_test.dart +++ b/packages/flame/test/effects/sequence_effect_test.dart @@ -233,12 +233,18 @@ void main() { testWithFlameGame('sequence in sequence', (game) async { EffectController duration(double t) => EffectController(duration: t); const dt = 0.01; - const x0 = 0.0, y0 = 0.0; - const x1 = 10.0, y1 = 10.0; - const x2 = 20.0, y2 = 0.0; - const x3 = 30.0, y3 = 10.0; - const x4 = 10.0, y4 = 30.0; - const dx5 = 1.6, dy5 = 0.9; + const x0 = 0.0; +const y0 = 0.0; + const x1 = 10.0; +const y1 = 10.0; + const x2 = 20.0; +const y2 = 0.0; + const x3 = 30.0; +const y3 = 10.0; + const x4 = 10.0; +const y4 = 30.0; + const dx5 = 1.6; +const dy5 = 0.9; final effect = SequenceEffect( [ diff --git a/packages/flame/test/events/flame_game_mixins/has_tappable_components_test.dart b/packages/flame/test/events/flame_game_mixins/has_tappable_components_test.dart index 8846953094..f9ec83e35f 100644 --- a/packages/flame/test/events/flame_game_mixins/has_tappable_components_test.dart +++ b/packages/flame/test/events/flame_game_mixins/has_tappable_components_test.dart @@ -282,9 +282,9 @@ class _GameWithDualTappableComponents extends FlameGame class _TapCallbacksComponent extends PositionComponent with TapCallbacks { _TapCallbacksComponent({ - super.children, required Vector2 super.position, required Vector2 super.size, + super.children, void Function(TapDownEvent)? onTapDown, void Function(TapDownEvent)? onLongTapDown, void Function(TapUpEvent)? onTapUp, diff --git a/packages/flame/test/game/flame_game_test.dart b/packages/flame/test/game/flame_game_test.dart index 3f4b9ffa41..1993b31de5 100644 --- a/packages/flame/test/game/flame_game_test.dart +++ b/packages/flame/test/game/flame_game_test.dart @@ -111,7 +111,11 @@ void main() { await tester.pumpWidget( Builder( builder: (BuildContext context) { - renderBox = GameRenderBox(game, context, true); + renderBox = GameRenderBox( + game, + context, + isRepaintBoundary: true, + ); return GameWidget(game: game); }, ), diff --git a/packages/flame/test/game/game_render_box_test.dart b/packages/flame/test/game/game_render_box_test.dart index bce898ea86..978986e576 100644 --- a/packages/flame/test/game/game_render_box_test.dart +++ b/packages/flame/test/game/game_render_box_test.dart @@ -25,7 +25,7 @@ void main() { when(() => game.paused).thenReturn(true); final BuildContext context = _MockBuildContext(); - final renderBox = GameRenderBox(game, context, false); + final renderBox = GameRenderBox(game, context, isRepaintBoundary: false); renderBox.attach(owner); verify(() => game.attach(owner, renderBox)).called(1); @@ -47,7 +47,7 @@ void main() { when(() => game.paused).thenReturn(true); final BuildContext context = _MockBuildContext(); - final renderBox = GameRenderBox(game, context, false); + final renderBox = GameRenderBox(game, context, isRepaintBoundary: false); renderBox.attach(owner); expect(renderBox.buildContext, context); @@ -59,7 +59,7 @@ void main() { when(() => game.paused).thenReturn(true); final BuildContext context = _MockBuildContext(); - final renderBox = GameRenderBox(game, context, false); + final renderBox = GameRenderBox(game, context, isRepaintBoundary: false); renderBox.attach(owner); expect(renderBox.isRepaintBoundary, false); diff --git a/packages/flame/test/game/game_widget/game_widget_test.dart b/packages/flame/test/game/game_widget/game_widget_test.dart index 2a18c6a03c..9a8a8ec5f3 100644 --- a/packages/flame/test/game/game_widget/game_widget_test.dart +++ b/packages/flame/test/game/game_widget/game_widget_test.dart @@ -82,7 +82,7 @@ class _MyGame extends FlameGame { } } -FlameTester<_MyGame> myGame({required bool open}) { +FlameTester<_MyGame> _myGame({required bool open}) { return FlameTester( _MyGame.new, pumpWidget: (gameWidget, tester) async { @@ -92,7 +92,7 @@ FlameTester<_MyGame> myGame({required bool open}) { } void main() { - myGame(open: false).testGameWidget( + _myGame(open: false).testGameWidget( 'calls onAttach when it enters the tree and onDetach and it leaves', verify: (game, tester) async { expect(game.onAttachCalled, isFalse); @@ -113,7 +113,7 @@ void main() { }, ); - myGame(open: true).testGameWidget( + _myGame(open: true).testGameWidget( 'size is kept on game after a detach', verify: (game, tester) async { expect(game.hasLayout, isTrue); diff --git a/packages/flame/test/rendering/paint_decorator_test.dart b/packages/flame/test/rendering/paint_decorator_test.dart index 88b59ef158..f53f6ca31e 100644 --- a/packages/flame/test/rendering/paint_decorator_test.dart +++ b/packages/flame/test/rendering/paint_decorator_test.dart @@ -107,9 +107,9 @@ void main() { class _DecoratedSprite extends SpriteComponent { _DecoratedSprite({ + required Decorator decorator, super.sprite, super.position, - required Decorator decorator, }) { this.decorator.addLast(decorator); } diff --git a/packages/flame_audio/example/lib/main.dart b/packages/flame_audio/example/lib/main.dart index f76c364018..0accfb8952 100644 --- a/packages/flame_audio/example/lib/main.dart +++ b/packages/flame_audio/example/lib/main.dart @@ -75,8 +75,8 @@ class AudioGame extends FlameGame with TapDetector { } @override - void onTapDown(TapDownInfo details) { - if (button.containsPoint(details.eventPosition.game)) { + void onTapDown(TapDownInfo info) { + if (button.containsPoint(info.eventPosition.game)) { fireTwo(); } else { fireOne(); diff --git a/packages/flame_audio/lib/audio_pool.dart b/packages/flame_audio/lib/audio_pool.dart index ff6d335a22..45ea0adc33 100644 --- a/packages/flame_audio/lib/audio_pool.dart +++ b/packages/flame_audio/lib/audio_pool.dart @@ -23,8 +23,11 @@ class AudioPool { /// The path of the sound of this pool. final String sound; - /// Max and min numbers of players. - final int minPlayers, maxPlayers; + /// Min numbers of players. + final int minPlayers; + + /// Max numbers of players. + final int maxPlayers; final Lock _lock = Lock(); @@ -38,9 +41,9 @@ class AudioPool { /// Creates an [AudioPool] instance with the given parameters. static Future create( String sound, { + required int maxPlayers, AudioCache? audioCache, int minPlayers = 1, - required int maxPlayers, }) async { final instance = AudioPool._( sound, diff --git a/packages/flame_audio/lib/flame_audio.dart b/packages/flame_audio/lib/flame_audio.dart index d9150e3d06..f36c1e4972 100644 --- a/packages/flame_audio/lib/flame_audio.dart +++ b/packages/flame_audio/lib/flame_audio.dart @@ -76,13 +76,13 @@ class FlameAudio { /// Access a shared instance of the [Bgm] class. /// /// This will use the same global audio cache from [FlameAudio]. - static late final Bgm bgm = Bgm(audioCache: audioCache); + static final Bgm bgm = Bgm(audioCache: audioCache); /// Creates a new Audio Pool using Flame's global Audio Cache. static Future createPool( String sound, { - int minPlayers = 1, required int maxPlayers, + int minPlayers = 1, }) { return AudioPool.create( sound, diff --git a/packages/flame_bloc/example/lib/src/game/components/bullet.dart b/packages/flame_bloc/example/lib/src/game/components/bullet.dart index 5ada9c8390..a97493164a 100644 --- a/packages/flame_bloc/example/lib/src/game/components/bullet.dart +++ b/packages/flame_bloc/example/lib/src/game/components/bullet.dart @@ -70,8 +70,8 @@ class BulletComponent extends SpriteAnimationComponent } @override - void onCollision(Set points, PositionComponent other) { - super.onCollision(points, other); + void onCollision(Set intersectionPoints, PositionComponent other) { + super.onCollision(intersectionPoints, other); if (other is EnemyComponent) { destroyed = true; other.takeHit(); diff --git a/packages/flame_bloc/example/lib/src/game/components/player.dart b/packages/flame_bloc/example/lib/src/game/components/player.dart index 5e3f817302..f3c0752847 100644 --- a/packages/flame_bloc/example/lib/src/game/components/player.dart +++ b/packages/flame_bloc/example/lib/src/game/components/player.dart @@ -118,8 +118,8 @@ class PlayerComponent extends SpriteAnimationComponent } @override - void onCollision(Set points, PositionComponent other) { - super.onCollision(points, other); + void onCollision(Set intersectionPoints, PositionComponent other) { + super.onCollision(intersectionPoints, other); if (other is EnemyComponent) { takeHit(); other.takeHit(); diff --git a/packages/flame_bloc/lib/src/flame_bloc_listenable.dart b/packages/flame_bloc/lib/src/flame_bloc_listenable.dart index 0a367d477e..3278b58851 100644 --- a/packages/flame_bloc/lib/src/flame_bloc_listenable.dart +++ b/packages/flame_bloc/lib/src/flame_bloc_listenable.dart @@ -52,10 +52,10 @@ mixin FlameBlocListenable, S> on Component { _state = bloc.state; _subscription = bloc.stream.listen((newState) { if (_state != newState) { - final _callNewState = listenWhen(_state, newState); + final callNewState = listenWhen(_state, newState); _state = newState; - if (_callNewState) { + if (callNewState) { onNewState(newState); } } diff --git a/packages/flame_bloc/lib/src/flame_bloc_listener.dart b/packages/flame_bloc/lib/src/flame_bloc_listener.dart index b6966bb71e..3e5dbe60cc 100644 --- a/packages/flame_bloc/lib/src/flame_bloc_listener.dart +++ b/packages/flame_bloc/lib/src/flame_bloc_listener.dart @@ -10,8 +10,8 @@ class FlameBlocListener, S> extends Component with FlameBlocListenable { /// {@macro flame_bloc_listener} FlameBlocListener({ - B? bloc, required void Function(S state) onNewState, + B? bloc, bool Function(S previousState, S newState)? listenWhen, }) : _onNewState = onNewState, _listenWhen = listenWhen { diff --git a/packages/flame_bloc/lib/src/flame_multi_bloc_provider.dart b/packages/flame_bloc/lib/src/flame_multi_bloc_provider.dart index 7b8bf28c1a..8daf93a1df 100644 --- a/packages/flame_bloc/lib/src/flame_multi_bloc_provider.dart +++ b/packages/flame_bloc/lib/src/flame_multi_bloc_provider.dart @@ -22,11 +22,11 @@ class FlameMultiBlocProvider extends Component { FlameBlocProvider? _lastProvider; Future _addProviders() async { - final _list = [..._providers]; + final list = [..._providers]; - var current = _list.removeAt(0); - while (_list.isNotEmpty) { - final provider = _list.removeAt(0); + var current = list.removeAt(0); + while (list.isNotEmpty) { + final provider = list.removeAt(0); await current.add(provider); current = provider; } diff --git a/packages/flame_bloc/test/src/flame_multi_bloc_provider_test.dart b/packages/flame_bloc/test/src/flame_multi_bloc_provider_test.dart index 7881a7c2ec..9ea3e85f3f 100644 --- a/packages/flame_bloc/test/src/flame_multi_bloc_provider_test.dart +++ b/packages/flame_bloc/test/src/flame_multi_bloc_provider_test.dart @@ -95,7 +95,8 @@ void main() { final inventoryCubit = InventoryCubit(); final playerCubit = PlayerCubit(); - late FlameBlocProvider inventoryCubitProvider, playerCubitProvider; + late FlameBlocProvider inventoryCubitProvider; + late FlameBlocProvider playerCubitProvider; final provider = FlameMultiBlocProvider( providers: [ diff --git a/packages/flame_fire_atlas/example/lib/main.dart b/packages/flame_fire_atlas/example/lib/main.dart index b1f415dec9..6b07c91c2b 100644 --- a/packages/flame_fire_atlas/example/lib/main.dart +++ b/packages/flame_fire_atlas/example/lib/main.dart @@ -52,7 +52,7 @@ class ExampleGame extends FlameGame with TapDetector { } @override - void onTapUp(TapUpInfo details) { + void onTapUp(TapUpInfo info) { add( SpriteAnimationComponent( size: Vector2(100, 100), @@ -60,7 +60,7 @@ class ExampleGame extends FlameGame with TapDetector { removeOnFinish: true, ) ..anchor = Anchor.center - ..position = details.eventPosition.game, + ..position = info.eventPosition.game, ); } } diff --git a/packages/flame_fire_atlas/lib/flame_fire_atlas.dart b/packages/flame_fire_atlas/lib/flame_fire_atlas.dart index 91a32de1c5..1f80196bb6 100644 --- a/packages/flame_fire_atlas/lib/flame_fire_atlas.dart +++ b/packages/flame_fire_atlas/lib/flame_fire_atlas.dart @@ -218,8 +218,8 @@ class FireAtlas { if (imageData == null) { throw 'Attempting on calling load on an already loaded Image'; } - final _images = images ?? Flame.images; - _image = await _images.fromBase64(id, imageData!); + final imagesCache = images ?? Flame.images; + _image = await imagesCache.fromBase64(id, imageData!); // Clear memory if (clearImageData) { @@ -275,9 +275,9 @@ class FireAtlas { AssetsCache? assets, Images? images, }) async { - final _assets = assets ?? Flame.assets; + final assetsCache = assets ?? Flame.assets; - final bytes = await _assets.readBinaryFile(fileName); + final bytes = await assetsCache.readBinaryFile(fileName); final atlas = FireAtlas.deserialize(bytes); await atlas.loadImage(images: images); return atlas; diff --git a/packages/flame_flare/example/lib/main.dart b/packages/flame_flare/example/lib/main.dart index 2d340f3e5d..4474cec72c 100644 --- a/packages/flame_flare/example/lib/main.dart +++ b/packages/flame_flare/example/lib/main.dart @@ -75,17 +75,17 @@ class MinionComponent extends FlareActorComponent { ); @override - void render(Canvas c) { + void render(Canvas canvas) { final rect = Rect.fromLTWH(x, y, width, height); final paint = Paint()..color = const Color(0xFFfafbfc); - c.drawRect(rect, paint); - super.render(c); + canvas.drawRect(rect, paint); + super.render(canvas); } @override - void onGameResize(Vector2 gameSize) { - super.onGameResize(gameSize); - position = (gameSize - size) / 2; + void onGameResize(Vector2 size) { + super.onGameResize(size); + position = (size - this.size) / 2; } } @@ -93,7 +93,7 @@ class BGComponent extends Component with HasGameRef { static final paint = BasicPalette.white.paint(); @override - void render(Canvas c) { - c.drawRect(gameRef.size.toRect(), paint); + void render(Canvas canvas) { + canvas.drawRect(gameRef.size.toRect(), paint); } } diff --git a/packages/flame_flare/lib/src/flare_animation.dart b/packages/flame_flare/lib/src/flare_animation.dart index a3e8f7cba8..0974f1940b 100644 --- a/packages/flame_flare/lib/src/flare_animation.dart +++ b/packages/flame_flare/lib/src/flare_animation.dart @@ -181,7 +181,8 @@ class FlareActorAnimation { contentHeight / 2.0 - (alignment.y * contentHeight / 2.0); - var scaleX = 1.0, scaleY = 1.0; + var scaleX = 1.0; + var scaleY = 1.0; c.save(); // pre paint diff --git a/packages/flame_flare/lib/src/flare_particle.dart b/packages/flame_flare/lib/src/flare_particle.dart index 0d05889ef7..d2fd775ff4 100644 --- a/packages/flame_flare/lib/src/flare_particle.dart +++ b/packages/flame_flare/lib/src/flare_particle.dart @@ -12,8 +12,8 @@ class FlareParticle extends Particle { FlareParticle({ required this.flareAnimation, - super.lifespan, required this.size, + super.lifespan, }) { flareAnimation.init(); } diff --git a/packages/flame_forge2d/lib/world_contact_listener.dart b/packages/flame_forge2d/lib/world_contact_listener.dart index b081a6a059..47477da561 100644 --- a/packages/flame_forge2d/lib/world_contact_listener.dart +++ b/packages/flame_forge2d/lib/world_contact_listener.dart @@ -68,11 +68,11 @@ class WorldContactListener extends ContactListener { } @override - void postSolve(Contact contact, ContactImpulse contactImpulse) { + void postSolve(Contact contact, ContactImpulse impulse) { _callback( contact, (contactCallback, other) => - contactCallback.postSolve(other, contact, contactImpulse), + contactCallback.postSolve(other, contact, impulse), ); } } diff --git a/packages/flame_isolate/example/lib/brains/worker_overmind.dart b/packages/flame_isolate/example/lib/brains/worker_overmind.dart index e09ab15397..abade108ab 100755 --- a/packages/flame_isolate/example/lib/brains/worker_overmind.dart +++ b/packages/flame_isolate/example/lib/brains/worker_overmind.dart @@ -43,9 +43,9 @@ class WorkerOvermind extends Component _queuedTasks.add(Pair(objectToMove, destination)); @override - void update(double t) { - _assignTaskInterval.update(t); - super.update(t); + void update(double dt) { + _assignTaskInterval.update(dt); + super.update(dt); } /// Set that keeps track of what workers are currently in queue to get a job. diff --git a/packages/flame_isolate/example/lib/standard/int_vector2.dart b/packages/flame_isolate/example/lib/standard/int_vector2.dart index 7fd127ee13..3116d8d93a 100755 --- a/packages/flame_isolate/example/lib/standard/int_vector2.dart +++ b/packages/flame_isolate/example/lib/standard/int_vector2.dart @@ -15,7 +15,8 @@ class IntVector2 { } @override - bool operator ==(Object o) => o is IntVector2 && x == o.x && y == o.y; + bool operator ==(Object other) => + other is IntVector2 && x == other.x && y == other.y; @override int get hashCode => hash2(x, y); diff --git a/packages/flame_isolate/example/lib/units/actions/movable.dart b/packages/flame_isolate/example/lib/units/actions/movable.dart index 057d87e959..6366ca7f28 100755 --- a/packages/flame_isolate/example/lib/units/actions/movable.dart +++ b/packages/flame_isolate/example/lib/units/actions/movable.dart @@ -31,6 +31,7 @@ enum MoveDirection { if (index >= 6 && index <= 8) { return MoveDirection.values[index - 3]; } + // ignore: avoid_returning_this return this; } } diff --git a/packages/flame_jenny/jenny/lib/src/command_storage.dart b/packages/flame_jenny/jenny/lib/src/command_storage.dart index 38a38ad0c8..bbfdbca30d 100644 --- a/packages/flame_jenny/jenny/lib/src/command_storage.dart +++ b/packages/flame_jenny/jenny/lib/src/command_storage.dart @@ -1,3 +1,5 @@ +// ignore_for_file: library_private_types_in_public_api + import 'dart:async'; import 'package:jenny/jenny.dart'; diff --git a/packages/flame_jenny/jenny/lib/src/parse/tokenize.dart b/packages/flame_jenny/jenny/lib/src/parse/tokenize.dart index e029fdc47a..e45ac18e69 100644 --- a/packages/flame_jenny/jenny/lib/src/parse/tokenize.dart +++ b/packages/flame_jenny/jenny/lib/src/parse/tokenize.dart @@ -1033,7 +1033,8 @@ class _Lexer { String _errorMessageAtPosition(int position) { final lineEnd = _findLineEnd(position); final lineStart = _findLineStart(position); - String lineFragment, markerIndent; + String lineFragment; + String markerIndent; if (lineEnd - lineStart <= 74) { lineFragment = text.substring(lineStart, lineEnd); markerIndent = ' ' * (position - lineStart); diff --git a/packages/flame_jenny/jenny/lib/src/structure/commands/command.dart b/packages/flame_jenny/jenny/lib/src/structure/commands/command.dart index e89efa5a4c..cf6e068edc 100644 --- a/packages/flame_jenny/jenny/lib/src/structure/commands/command.dart +++ b/packages/flame_jenny/jenny/lib/src/structure/commands/command.dart @@ -11,7 +11,7 @@ abstract class Command extends DialogueEntry { String get name; @override - Future processInDialogueRunner(DialogueRunner runner) { - return runner.deliverCommand(this); + Future processInDialogueRunner(DialogueRunner dialogueRunner) { + return dialogueRunner.deliverCommand(this); } } diff --git a/packages/flame_jenny/jenny/lib/src/structure/dialogue_choice.dart b/packages/flame_jenny/jenny/lib/src/structure/dialogue_choice.dart index 8575b4fd8e..981bc96161 100644 --- a/packages/flame_jenny/jenny/lib/src/structure/dialogue_choice.dart +++ b/packages/flame_jenny/jenny/lib/src/structure/dialogue_choice.dart @@ -8,11 +8,11 @@ class DialogueChoice extends DialogueEntry { final List options; @override - Future processInDialogueRunner(DialogueRunner runner) { + Future processInDialogueRunner(DialogueRunner dialogueRunner) { for (final option in options) { option.evaluate(); } - return runner.deliverChoices(this); + return dialogueRunner.deliverChoices(this); } @override diff --git a/packages/flame_jenny/jenny/lib/src/structure/dialogue_line.dart b/packages/flame_jenny/jenny/lib/src/structure/dialogue_line.dart index 11f8912785..145d5996c2 100644 --- a/packages/flame_jenny/jenny/lib/src/structure/dialogue_line.dart +++ b/packages/flame_jenny/jenny/lib/src/structure/dialogue_line.dart @@ -85,9 +85,9 @@ class DialogueLine extends DialogueEntry { bool get isConst => _content.isConst; @override - Future processInDialogueRunner(DialogueRunner runner) { + Future processInDialogueRunner(DialogueRunner dialogueRunner) { evaluate(); - return runner.deliverLine(this); + return dialogueRunner.deliverLine(this); } /// Computes the [text] of the line, substituting the current values of all diff --git a/packages/flame_jenny/jenny/lib/src/structure/expressions/literal.dart b/packages/flame_jenny/jenny/lib/src/structure/expressions/literal.dart index 04df3f0cd5..9f31ef8927 100644 --- a/packages/flame_jenny/jenny/lib/src/structure/expressions/literal.dart +++ b/packages/flame_jenny/jenny/lib/src/structure/expressions/literal.dart @@ -15,6 +15,7 @@ class StringLiteral extends StringExpression { } class BoolLiteral extends BoolExpression { + // ignore: avoid_positional_boolean_parameters const BoolLiteral(this.value); @override diff --git a/packages/flame_jenny/jenny/test/command_storage_test.dart b/packages/flame_jenny/jenny/test/command_storage_test.dart index 0eee615ca0..56eaa9ba0c 100644 --- a/packages/flame_jenny/jenny/test/command_storage_test.dart +++ b/packages/flame_jenny/jenny/test/command_storage_test.dart @@ -63,25 +63,25 @@ void main() { storage.addCommand1('check', (bool x) => value = x); expect(storage.hasCommand('check'), true); - void check(String arg, bool expectedValue) { + void check(String arg, {required bool expectedValue}) { storage.runCommand(UserDefinedCommand('check', LineContent(arg))); expect(value, expectedValue); } - check('true', true); - check(' false ', false); - check('+', true); - check('-', false); - check(' "on"', true); - check('off ', false); - check('yes', true); - check('no', false); - check('T', true); - check('F', false); - check('1', true); - check('0', false); + check('true', expectedValue: true); + check(' false ', expectedValue: false); + check('+', expectedValue: true); + check('-', expectedValue: false); + check(' "on"', expectedValue: true); + check('off ', expectedValue: false); + check('yes', expectedValue: true); + check('no', expectedValue: false); + check('T', expectedValue: true); + check('F', expectedValue: false); + check('1', expectedValue: true); + check('0', expectedValue: false); expect( - () => check('12', true), + () => check('12', expectedValue: true), hasTypeError( 'TypeError: Argument 1 for command <> has value "12", which ' 'is not a boolean', @@ -161,6 +161,7 @@ void main() { }); expect(storage.hasCommand('three'), true); + // ignore: avoid_positional_boolean_parameters void check(String args, bool v1, bool v2, bool v3) { storage.runCommand(UserDefinedCommand('three', LineContent(args))); expect(value1, v1); diff --git a/packages/flame_jenny/jenny/test/structure/commands/wait_command_test.dart b/packages/flame_jenny/jenny/test/structure/commands/wait_command_test.dart index aede3d3659..95015a1492 100644 --- a/packages/flame_jenny/jenny/test/structure/commands/wait_command_test.dart +++ b/packages/flame_jenny/jenny/test/structure/commands/wait_command_test.dart @@ -26,7 +26,8 @@ void main() { test('normal command <>', () async { int getTime() => DateTime.now().millisecondsSinceEpoch; - late int t0, t1; + late int t0; + late int t1; await testScenario( yarn: YarnProject() ..commands.addCommand0('startTimer', () => t0 = getTime()) diff --git a/packages/flame_jenny/jenny/test/test_scenario.dart b/packages/flame_jenny/jenny/test/test_scenario.dart index 99e619fd43..ff69e6bb91 100644 --- a/packages/flame_jenny/jenny/test/test_scenario.dart +++ b/packages/flame_jenny/jenny/test/test_scenario.dart @@ -12,9 +12,9 @@ import 'package:test/test.dart'; /// for convenience. @isTest Future testScenario({ - String? testName, required String input, required String testPlan, + String? testName, bool skip = false, List? commands, YarnProject? yarn, @@ -215,8 +215,8 @@ class _TestPlan extends DialogueView { } else if (match2 != null) { final name = match2.group(2); final text = match2.group(3)!; - final disabled = match2.group(4) != null; - _expected.add(_Option(name, text, !disabled)); + final enabled = match2.group(4) == null; + _expected.add(_Option(name, text, enabled: enabled)); } else if (match3 != null) { final index = int.parse(match3.group(1)!); final options = <_Option>[]; @@ -254,7 +254,7 @@ class _Choice { } class _Option { - const _Option(this.character, this.text, this.enabled); + const _Option(this.character, this.text, {required this.enabled}); final String? character; final String text; final bool enabled; diff --git a/packages/flame_lint/lib/analysis_options.yaml b/packages/flame_lint/lib/analysis_options.yaml index 3eac1fe71c..2c4f52d530 100644 --- a/packages/flame_lint/lib/analysis_options.yaml +++ b/packages/flame_lint/lib/analysis_options.yaml @@ -72,7 +72,6 @@ linter: - implementation_imports - iterable_contains_unrelated_type - join_return_with_assignment - - leading_newlines_in_multiline_strings - library_names - library_prefixes - library_private_types_in_public_api diff --git a/packages/flame_oxygen/lib/src/oxygen_game.dart b/packages/flame_oxygen/lib/src/oxygen_game.dart index 441f9f0b14..ec474d88e7 100644 --- a/packages/flame_oxygen/lib/src/oxygen_game.dart +++ b/packages/flame_oxygen/lib/src/oxygen_game.dart @@ -19,9 +19,9 @@ abstract class OxygenGame extends Game { /// Create a new [Entity]. Entity createEntity({ - String? name, required Vector2 position, required Vector2 size, + String? name, double? angle, Anchor? anchor, bool flipX = false, @@ -65,5 +65,5 @@ abstract class OxygenGame extends Game { @override @mustCallSuper - void update(double delta) => world.update(delta); + void update(double dt) => world.update(dt); } diff --git a/packages/flame_rive/example/lib/main.dart b/packages/flame_rive/example/lib/main.dart index 7afbd71ff9..2cf1c6ec48 100644 --- a/packages/flame_rive/example/lib/main.dart +++ b/packages/flame_rive/example/lib/main.dart @@ -62,12 +62,12 @@ class SkillsAnimationComponent extends RiveComponent with TapCallbacks { } @override - void onTapDown(TapDownEvent info) { + void onTapDown(TapDownEvent event) { final levelInput = _levelInput; if (levelInput == null) { return; } levelInput.value = (levelInput.value + 1) % 3; - info.continuePropagation = true; + event.continuePropagation = true; } } diff --git a/packages/flame_rive/lib/src/rive_component.dart b/packages/flame_rive/lib/src/rive_component.dart index 2fe726c92f..a99f1f218d 100644 --- a/packages/flame_rive/lib/src/rive_component.dart +++ b/packages/flame_rive/lib/src/rive_component.dart @@ -100,7 +100,8 @@ class RiveArtboardRenderer { contentHeight / 2.0 - (alignment.y * contentHeight / 2.0); - var scaleX = 1.0, scaleY = 1.0; + var scaleX = 1.0; + var scaleY = 1.0; canvas.save(); canvas.clipRect(position & size); diff --git a/packages/flame_studio/lib/src/widgets/panels/hierarchy_view.dart b/packages/flame_studio/lib/src/widgets/panels/hierarchy_view.dart index 4b5cadc0c7..65e72a6c57 100644 --- a/packages/flame_studio/lib/src/widgets/panels/hierarchy_view.dart +++ b/packages/flame_studio/lib/src/widgets/panels/hierarchy_view.dart @@ -31,7 +31,7 @@ class HierarchyViewState extends ConsumerState { } void _buildList(ComponentTreeNode node, int depth, List out) { - out.add(_ListItem(this, node, depth, out.isEmpty)); + out.add(_ListItem(this, node, depth, isFirst: out.isEmpty)); final isExpanded = expandedComponents.contains(node.component); if (isExpanded && node.hasChildren) { for (final childNode in node.children!) { @@ -68,7 +68,7 @@ class HierarchyViewState extends ConsumerState { } class _ListItem extends StatelessWidget { - _ListItem(this.state, this.node, this.indent, this.isFirst) + _ListItem(this.state, this.node, this.indent, {required this.isFirst}) : super(key: ObjectKey(node.component)); final HierarchyViewState state; diff --git a/packages/flame_studio/lib/src/widgets/toolbar/toolbar_button.dart b/packages/flame_studio/lib/src/widgets/toolbar/toolbar_button.dart index c5f965fada..8d23937d8a 100644 --- a/packages/flame_studio/lib/src/widgets/toolbar/toolbar_button.dart +++ b/packages/flame_studio/lib/src/widgets/toolbar/toolbar_button.dart @@ -15,10 +15,10 @@ class ToolbarButton extends ConsumerStatefulWidget { final bool disabled; @override - _ToolbarButtonState createState() => _ToolbarButtonState(); + ToolbarButtonState createState() => ToolbarButtonState(); } -class _ToolbarButtonState extends ConsumerState { +class ToolbarButtonState extends ConsumerState { bool _isHovered = false; bool _isActive = false; @@ -26,11 +26,11 @@ class _ToolbarButtonState extends ConsumerState { Widget build(BuildContext context) { final painter = CustomPaint( painter: _ToolbarButtonPainter( - widget.disabled, - _isHovered, - _isActive, widget.icon, ref.watch(themeProvider), + isDisabled: widget.disabled, + isHovered: _isHovered, + isActive: _isActive, ), ); @@ -70,12 +70,12 @@ class _ToolbarButtonState extends ConsumerState { class _ToolbarButtonPainter extends CustomPainter { _ToolbarButtonPainter( - this.isDisabled, - this.isHovered, - this.isActive, this.icon, - this.theme, - ); + this.theme, { + required this.isDisabled, + required this.isHovered, + required this.isActive, + }); final bool isDisabled; final bool isHovered; diff --git a/packages/flame_svg/lib/svg.dart b/packages/flame_svg/lib/svg.dart index ff997261e1..add3289c34 100644 --- a/packages/flame_svg/lib/svg.dart +++ b/packages/flame_svg/lib/svg.dart @@ -48,8 +48,8 @@ class Svg { Vector2 size, { Paint? overridePaint, }) { - final _size = size.toSize(); - final image = _getImage(_size); + final localSize = size.toSize(); + final image = _getImage(localSize); if (image != null) { canvas.save(); @@ -58,7 +58,7 @@ class Svg { canvas.drawImage(image, Offset.zero, drawPaint); canvas.restore(); } else { - _render(canvas, _size); + _render(canvas, localSize); } } @@ -80,8 +80,8 @@ class Svg { final recorder = PictureRecorder(); final canvas = Canvas(recorder); _render(canvas, size); - final _picture = recorder.endRecording(); - _picture + final picture = recorder.endRecording(); + picture .toImage( (size.width * pixelRatio).ceil(), (size.height * pixelRatio).ceil(), @@ -89,7 +89,7 @@ class Svg { .then((image) { _imageCache.setValue(size, image); _lock.remove(size); - _picture.dispose(); + picture.dispose(); }); } diff --git a/packages/flame_test/lib/src/flame_test.dart b/packages/flame_test/lib/src/flame_test.dart index 4ef0f3792b..4b30332cd1 100644 --- a/packages/flame_test/lib/src/flame_test.dart +++ b/packages/flame_test/lib/src/flame_test.dart @@ -120,11 +120,11 @@ class GameTester { final gameWidget = createGameWidget?.call(game) ?? GameWidget(game: game); - final _pump = pumpWidget ?? - (GameWidget _gameWidget, WidgetTester _tester) => - _tester.pumpWidget(_gameWidget); + final pump = pumpWidget ?? + (GameWidget pumpWidget, WidgetTester tester) => + tester.pumpWidget(pumpWidget); - await _pump(gameWidget, tester); + await pump(gameWidget, tester); await tester.pump(); if (setUp != null) { diff --git a/packages/flame_tiled/lib/src/renderable_tile_map.dart b/packages/flame_tiled/lib/src/renderable_tile_map.dart index 498c5712a2..ab9a6cfb90 100644 --- a/packages/flame_tiled/lib/src/renderable_tile_map.dart +++ b/packages/flame_tiled/lib/src/renderable_tile_map.dart @@ -71,9 +71,9 @@ class RenderableTiledMap { } /// Changes the visibility of the corresponding layer, if different - void setLayerVisibility(int layerId, bool visibility) { - if (map.layers[layerId].visible != visibility) { - map.layers[layerId].visible = visibility; + void setLayerVisibility(int layerId, {required bool visible}) { + if (map.layers[layerId].visible != visible) { + map.layers[layerId].visible = visible; _refreshCache(); } } diff --git a/packages/flame_tiled/lib/src/simple_flips.dart b/packages/flame_tiled/lib/src/simple_flips.dart index c20d1d7672..a59f113c05 100644 --- a/packages/flame_tiled/lib/src/simple_flips.dart +++ b/packages/flame_tiled/lib/src/simple_flips.dart @@ -28,12 +28,14 @@ class SimpleFlips { final bool flip; /// {@macro _simple_flips} - SimpleFlips(this.angle, this.cos, this.sin, this.flip); + SimpleFlips(this.angle, this.cos, this.sin, {required this.flip}); /// This is the conversion from the truth table that I drew. factory SimpleFlips.fromFlips(Flips flips) { - int angle, cos, sin; - bool flip; + final int angle; + final int cos; + final int sin; + final bool flip; if (!flips.diagonally && !flips.vertically && !flips.horizontally) { angle = 0; @@ -80,6 +82,6 @@ class SimpleFlips { throw 'Invalid combination of booleans: $flips'; } - return SimpleFlips(angle, cos, sin, flip); + return SimpleFlips(angle, cos, sin, flip: flip); } } diff --git a/packages/flame_tiled/lib/src/tile_atlas.dart b/packages/flame_tiled/lib/src/tile_atlas.dart index 90d87b4ba0..b38e39c459 100644 --- a/packages/flame_tiled/lib/src/tile_atlas.dart +++ b/packages/flame_tiled/lib/src/tile_atlas.dart @@ -117,7 +117,6 @@ class TiledAtlas { final bin = RectangleBinPacker(); final recorder = PictureRecorder(); final canvas = Canvas(recorder); - final _emptyPaint = Paint(); final offsetMap = {}; @@ -133,6 +132,7 @@ class TiledAtlas { ...imageList.map((tiledImage) => Flame.images.load(tiledImage.source!)) ]); + final emptyPaint = Paint(); for (final tiledImage in imageList) { final image = await Flame.images.load(tiledImage.source!); final rect = bin.pack(image.width.toDouble(), image.height.toDouble()); @@ -142,7 +142,7 @@ class TiledAtlas { final offset = offsetMap[tiledImage.source!] = Offset(rect.left, rect.top); - canvas.drawImage(image, offset, _emptyPaint); + canvas.drawImage(image, offset, emptyPaint); } final picture = recorder.endRecording(); final image = await picture.toImageSafe( diff --git a/packages/flame_tiled/lib/src/tiled_component.dart b/packages/flame_tiled/lib/src/tiled_component.dart index 3557ea0eb3..3ac92599f5 100644 --- a/packages/flame_tiled/lib/src/tiled_component.dart +++ b/packages/flame_tiled/lib/src/tiled_component.dart @@ -77,9 +77,9 @@ class TiledComponent extends PositionComponent } @override - void onGameResize(Vector2 canvasSize) { - super.onGameResize(canvasSize); - tileMap.handleResize(canvasSize); + void onGameResize(Vector2 size) { + super.onGameResize(size); + tileMap.handleResize(size); } /// Loads a [TiledComponent] from a file. diff --git a/packages/flame_tiled/test/tiled_test.dart b/packages/flame_tiled/test/tiled_test.dart index 5dd7f7b0cc..c2fdd04ddd 100644 --- a/packages/flame_tiled/test/tiled_test.dart +++ b/packages/flame_tiled/test/tiled_test.dart @@ -188,7 +188,8 @@ void main() { }); group('Flipped and rotated tiles render correctly with sprite batch:', () { - late Uint8List pixelsBeforeFlipApplied, pixelsAfterFlipApplied; + late Uint8List pixelsBeforeFlipApplied; + late Uint8List pixelsAfterFlipApplied; late RenderableTiledMap overlapMap; Future renderMap() async { @@ -340,47 +341,47 @@ void main() { }); group('Test getLayer:', () { - late RenderableTiledMap _renderableTiledMap; + late RenderableTiledMap renderableTiledMap; setUp(() async { Flame.bundle = TestAssetBundle( imageNames: ['map-level1.png'], stringNames: ['layers_test.tmx'], ); - _renderableTiledMap = + renderableTiledMap = await RenderableTiledMap.fromFile('layers_test.tmx', Vector2.all(32)); }); test('Get Tile Layer', () { expect( - _renderableTiledMap.getLayer('MyTileLayer'), + renderableTiledMap.getLayer('MyTileLayer'), isNotNull, ); }); test('Get Object Layer', () { expect( - _renderableTiledMap.getLayer('MyObjectLayer'), + renderableTiledMap.getLayer('MyObjectLayer'), isNotNull, ); }); test('Get Image Layer', () { expect( - _renderableTiledMap.getLayer('MyImageLayer'), + renderableTiledMap.getLayer('MyImageLayer'), isNotNull, ); }); test('Get Group Layer', () { expect( - _renderableTiledMap.getLayer('MyGroupLayer'), + renderableTiledMap.getLayer('MyGroupLayer'), isNotNull, ); }); test('Get no layer', () { expect( - _renderableTiledMap.getLayer('Nonexistent layer'), + renderableTiledMap.getLayer('Nonexistent layer'), isNull, ); }); From 82152ae6c039fc3d6151d9d418e28673b7d32fd1 Mon Sep 17 00:00:00 2001 From: Lukas Klingsbo Date: Mon, 10 Apr 2023 19:16:28 +0200 Subject: [PATCH 4/6] Remove rules that can't be applied --- examples/lib/stories/input/joystick_player.dart | 12 +++++------- .../src/collisions/broadphase/quadtree/quadtree.dart | 3 ++- packages/flame/lib/src/game/game_render_box.dart | 5 ++--- packages/flame/lib/src/image_composition.dart | 8 +++----- .../test/components/position_component_test.dart | 6 +++--- .../flame/test/effects/sequence_effect_test.dart | 12 ++++++------ packages/flame_lint/lib/analysis_options.yaml | 4 ---- 7 files changed, 21 insertions(+), 29 deletions(-) diff --git a/examples/lib/stories/input/joystick_player.dart b/examples/lib/stories/input/joystick_player.dart index 22bff83baf..8cdccf9687 100644 --- a/examples/lib/stories/input/joystick_player.dart +++ b/examples/lib/stories/input/joystick_player.dart @@ -32,14 +32,12 @@ class JoystickPlayer extends SpriteComponent } @override - void onCollisionStart(Set _, PositionComponent __) { - super.onCollisionStart(_, __); + void onCollisionStart( + Set intersectionPoints, + PositionComponent other, + ) { + super.onCollisionStart(intersectionPoints, other); transform.setFrom(_lastTransform); size.setFrom(_lastSize); } - - @override - void onCollisionEnd(PositionComponent __) { - super.onCollisionEnd(__); - } } diff --git a/packages/flame/lib/src/collisions/broadphase/quadtree/quadtree.dart b/packages/flame/lib/src/collisions/broadphase/quadtree/quadtree.dart index 5c4772ed58..ac1cfdcc01 100644 --- a/packages/flame/lib/src/collisions/broadphase/quadtree/quadtree.dart +++ b/packages/flame/lib/src/collisions/broadphase/quadtree/quadtree.dart @@ -193,8 +193,9 @@ class QuadTree> { final node = _hitboxAtNode.remove(hitbox); if (node != null) { node.hitboxes.remove(hitbox); + // TODO(Spydon): Shouldn't this if be negated? if (keepOldPosition) { - _oldPositionByItem.remove(node); + _oldPositionByItem.remove(hitbox); } } } diff --git a/packages/flame/lib/src/game/game_render_box.dart b/packages/flame/lib/src/game/game_render_box.dart index 21abce802a..64d4f9401a 100644 --- a/packages/flame/lib/src/game/game_render_box.dart +++ b/packages/flame/lib/src/game/game_render_box.dart @@ -35,9 +35,8 @@ class GameRenderBox extends RenderBox with WidgetsBindingObserver { GameRenderBox( this._game, this.buildContext, { - required bool isRepaintBoundary, - } - ) : _isRepaintBoundary = isRepaintBoundary; + required bool isRepaintBoundary, + }) : _isRepaintBoundary = isRepaintBoundary; GameLoop? gameLoop; diff --git a/packages/flame/lib/src/image_composition.dart b/packages/flame/lib/src/image_composition.dart index bf07eb1b96..6abdd7365a 100644 --- a/packages/flame/lib/src/image_composition.dart +++ b/packages/flame/lib/src/image_composition.dart @@ -133,11 +133,9 @@ class _Fragment { this.source, this.angle, this.anchor, - this.blendMode, - { - required this.antiAlias, - } - ); + this.blendMode, { + required this.antiAlias, + }); /// The image that will be composed. final Image image; diff --git a/packages/flame/test/components/position_component_test.dart b/packages/flame/test/components/position_component_test.dart index a5b1a021ef..9d80a58413 100644 --- a/packages/flame/test/components/position_component_test.dart +++ b/packages/flame/test/components/position_component_test.dart @@ -319,9 +319,9 @@ void main() { final topRightPoint = Vector2(bottomRightPoint.x, topLeftPoint.y); final bottomLeftPoint = Vector2(topLeftPoint.x, bottomRightPoint.y); final epsilon = Vector2.all(0.0001); - void checkOutsideCorners( - { - required bool expectedResult, bool? topLeftResult, + void checkOutsideCorners({ + required bool expectedResult, + bool? topLeftResult, bool? bottomRightResult, bool? topRightResult, bool? bottomLeftResult, diff --git a/packages/flame/test/effects/sequence_effect_test.dart b/packages/flame/test/effects/sequence_effect_test.dart index bb8e9a7fc0..dc6240b74f 100644 --- a/packages/flame/test/effects/sequence_effect_test.dart +++ b/packages/flame/test/effects/sequence_effect_test.dart @@ -234,17 +234,17 @@ void main() { EffectController duration(double t) => EffectController(duration: t); const dt = 0.01; const x0 = 0.0; -const y0 = 0.0; + const y0 = 0.0; const x1 = 10.0; -const y1 = 10.0; + const y1 = 10.0; const x2 = 20.0; -const y2 = 0.0; + const y2 = 0.0; const x3 = 30.0; -const y3 = 10.0; + const y3 = 10.0; const x4 = 10.0; -const y4 = 30.0; + const y4 = 30.0; const dx5 = 1.6; -const dy5 = 0.9; + const dy5 = 0.9; final effect = SequenceEffect( [ diff --git a/packages/flame_lint/lib/analysis_options.yaml b/packages/flame_lint/lib/analysis_options.yaml index 2c4f52d530..1b7211e31d 100644 --- a/packages/flame_lint/lib/analysis_options.yaml +++ b/packages/flame_lint/lib/analysis_options.yaml @@ -34,7 +34,6 @@ linter: - avoid_private_typedef_functions - avoid_redundant_argument_values - avoid_relative_lib_imports - - avoid_renaming_method_parameters - avoid_return_types_on_setters - avoid_returning_null_for_void - avoid_returning_this @@ -52,7 +51,6 @@ linter: - cancel_subscriptions - cast_nullable_to_non_nullable - close_sinks - - collection_methods_unrelated_type - comment_references - constant_identifier_names - control_flow_in_finally @@ -94,7 +92,6 @@ linter: - parameter_assignments - prefer_adjacent_string_concatenation - prefer_asserts_in_initializer_lists - - prefer_asserts_with_message - prefer_collection_literals - prefer_conditional_assignment - prefer_const_constructors @@ -173,6 +170,5 @@ linter: - use_setters_to_change_properties - use_super_parameters - use_test_throws_matchers - - use_to_and_as_if_applicable - valid_regexps - void_checks From 938b196aa74b37a6650fd10fb3f1eae6e2834feb Mon Sep 17 00:00:00 2001 From: Lukas Klingsbo Date: Thu, 13 Apr 2023 21:19:46 +0200 Subject: [PATCH 5/6] keepOldPosition fix --- .../flame/lib/src/collisions/broadphase/quadtree/quadtree.dart | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/packages/flame/lib/src/collisions/broadphase/quadtree/quadtree.dart b/packages/flame/lib/src/collisions/broadphase/quadtree/quadtree.dart index ac1cfdcc01..ca5e026b78 100644 --- a/packages/flame/lib/src/collisions/broadphase/quadtree/quadtree.dart +++ b/packages/flame/lib/src/collisions/broadphase/quadtree/quadtree.dart @@ -193,8 +193,7 @@ class QuadTree> { final node = _hitboxAtNode.remove(hitbox); if (node != null) { node.hitboxes.remove(hitbox); - // TODO(Spydon): Shouldn't this if be negated? - if (keepOldPosition) { + if (!keepOldPosition) { _oldPositionByItem.remove(hitbox); } } From 933dd194682adf8cf5af151503be74ccbfb6e65c Mon Sep 17 00:00:00 2001 From: Lukas Klingsbo Date: Thu, 13 Apr 2023 21:33:16 +0200 Subject: [PATCH 6/6] Ignore deprecated methods --- packages/flame/lib/src/components/core/component.dart | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/flame/lib/src/components/core/component.dart b/packages/flame/lib/src/components/core/component.dart index 75efc5e3c1..7f98aaec6b 100644 --- a/packages/flame/lib/src/components/core/component.dart +++ b/packages/flame/lib/src/components/core/component.dart @@ -646,6 +646,7 @@ class Component { /// Changes the current parent for another parent and prepares the tree under /// the new root. @Deprecated('Will be removed in 1.9.0. Use the parent setter instead.') + // ignore: use_setters_to_change_properties void changeParent(Component newParent) { parent = newParent; } @@ -748,13 +749,14 @@ class Component { /// component list isn't re-ordered when it is called. /// See FlameGame.changePriority instead. @Deprecated('Will be removed in 1.8.0. Use priority setter instead.') + // ignore: use_setters_to_change_properties void changePriorityWithoutResorting(int priority) => _priority = priority; /// Call this if any of this component's children priorities have changed /// at runtime. /// /// This will call [ComponentSet.rebalanceAll] on the [children] ordered set. - @Deprecated('Will be removed in 1.8.0.') + @Deprecated('Will be removed in 1.8.0, it is now done automatically.') void reorderChildren() => _children?.rebalanceAll(); //#endregion