From b283b82f6cfa7e7f2ce5ff7f657e6569667183d4 Mon Sep 17 00:00:00 2001 From: Lukas Klingsbo Date: Thu, 18 Apr 2024 23:41:08 +0200 Subject: [PATCH] refactor: Modernize switch; use switch-expressions and no break; (#3133) Replaces the switch cases that can be replaces with switch expressions and removes `break;` where it isn't needed. https://dart.dev/language/branches#switch-statements --- doc/tutorials/klondike/app/lib/main.dart | 31 +++----- .../app/lib/step3/components/card.dart | 13 ---- .../app/lib/step4/components/card.dart | 13 ---- .../app/lib/step5/components/card.dart | 13 ---- doc/tutorials/klondike/step3.md | 13 ---- .../platformer/app/lib/ember_quest.dart | 54 ++++++-------- doc/tutorials/platformer/step_3.md | 5 -- doc/tutorials/platformer/step_4.md | 3 - doc/tutorials/space_shooter/app/lib/main.dart | 34 +++------ examples/games/padracing/lib/game_colors.dart | 10 ++- .../trex/lib/obstacle/obstacle_type.dart | 14 ++-- .../flame_isolate/simple_isolate_example.dart | 14 ++-- .../multiple_shapes_example.dart | 20 +++--- .../components/spawn_component_example.dart | 19 +++-- .../input/gesture_hitboxes_example.dart | 28 ++++---- .../broadphase/quadtree/quadtree.dart | 19 ++--- .../components/core/component_tree_root.dart | 26 +++---- packages/flame/lib/src/parallax.dart | 17 ++--- .../test/extensions/image_extension_test.dart | 70 ++++--------------- .../lib/src/decorators/inverter.dart | 16 ++--- .../lib/src/game/components/bullet.dart | 35 ++++------ .../lib/src/inventory/view/inventory.dart | 26 +++---- .../flame_forge2d/lib/body_component.dart | 4 -- .../example/lib/brains/worker_overmind.dart | 23 +++--- .../jenny/lib/src/command_storage.dart | 5 -- .../jenny/lib/src/function_storage.dart | 16 ++--- .../flame_markdown/lib/flame_markdown.dart | 36 ++++------ .../flame_rive/lib/src/rive_component.dart | 7 -- .../tile_layers/tile_layer.dart | 24 +++---- 29 files changed, 183 insertions(+), 425 deletions(-) diff --git a/doc/tutorials/klondike/app/lib/main.dart b/doc/tutorials/klondike/app/lib/main.dart index 860491ceb79..8889a62d6f0 100644 --- a/doc/tutorials/klondike/app/lib/main.dart +++ b/doc/tutorials/klondike/app/lib/main.dart @@ -10,29 +10,16 @@ void main() { if (page.startsWith('?')) { page = page.substring(1); } - switch (page) { - case 'step2': - step2.main(); - break; - - case 'step3': - step3.main(); - break; - - case 'step4': - step4.main(); - break; - - case 'step5': - step5.main(); - break; - - default: - runApp( + return switch (page) { + 'step2' => step2.main(), + 'step3' => step3.main(), + 'step4' => step4.main(), + 'step5' => step5.main(), + _ => runApp( Directionality( textDirection: TextDirection.ltr, - child: Text('Error: unknown page name "$page"'), + child: Text('Error=> unknown page name "$page"'), ), - ); - } + ), + }; } diff --git a/doc/tutorials/klondike/app/lib/step3/components/card.dart b/doc/tutorials/klondike/app/lib/step3/components/card.dart index ad008cd9e63..73fa99c05a7 100644 --- a/doc/tutorials/klondike/app/lib/step3/components/card.dart +++ b/doc/tutorials/klondike/app/lib/step3/components/card.dart @@ -97,29 +97,24 @@ class Card extends PositionComponent { switch (rank.value) { case 1: _drawSprite(canvas, suitSprite, 0.5, 0.5, scale: 2.5); - break; case 2: _drawSprite(canvas, suitSprite, 0.5, 0.25); _drawSprite(canvas, suitSprite, 0.5, 0.25, rotate: true); - break; case 3: _drawSprite(canvas, suitSprite, 0.5, 0.2); _drawSprite(canvas, suitSprite, 0.5, 0.5); _drawSprite(canvas, suitSprite, 0.5, 0.2, rotate: true); - break; case 4: _drawSprite(canvas, suitSprite, 0.3, 0.25); _drawSprite(canvas, suitSprite, 0.7, 0.25); _drawSprite(canvas, suitSprite, 0.3, 0.25, rotate: true); _drawSprite(canvas, suitSprite, 0.7, 0.25, rotate: true); - break; case 5: _drawSprite(canvas, suitSprite, 0.3, 0.25); _drawSprite(canvas, suitSprite, 0.7, 0.25); _drawSprite(canvas, suitSprite, 0.3, 0.25, rotate: true); _drawSprite(canvas, suitSprite, 0.7, 0.25, rotate: true); _drawSprite(canvas, suitSprite, 0.5, 0.5); - break; case 6: _drawSprite(canvas, suitSprite, 0.3, 0.25); _drawSprite(canvas, suitSprite, 0.7, 0.25); @@ -127,7 +122,6 @@ class Card extends PositionComponent { _drawSprite(canvas, suitSprite, 0.7, 0.5); _drawSprite(canvas, suitSprite, 0.3, 0.25, rotate: true); _drawSprite(canvas, suitSprite, 0.7, 0.25, rotate: true); - break; case 7: _drawSprite(canvas, suitSprite, 0.3, 0.2); _drawSprite(canvas, suitSprite, 0.7, 0.2); @@ -136,7 +130,6 @@ class Card extends PositionComponent { _drawSprite(canvas, suitSprite, 0.7, 0.5); _drawSprite(canvas, suitSprite, 0.3, 0.2, rotate: true); _drawSprite(canvas, suitSprite, 0.7, 0.2, rotate: true); - break; case 8: _drawSprite(canvas, suitSprite, 0.3, 0.2); _drawSprite(canvas, suitSprite, 0.7, 0.2); @@ -146,7 +139,6 @@ class Card extends PositionComponent { _drawSprite(canvas, suitSprite, 0.3, 0.2, rotate: true); _drawSprite(canvas, suitSprite, 0.7, 0.2, rotate: true); _drawSprite(canvas, suitSprite, 0.5, 0.35, rotate: true); - break; case 9: _drawSprite(canvas, suitSprite, 0.3, 0.2); _drawSprite(canvas, suitSprite, 0.7, 0.2); @@ -157,7 +149,6 @@ class Card extends PositionComponent { _drawSprite(canvas, suitSprite, 0.7, 0.2, rotate: true); _drawSprite(canvas, suitSprite, 0.3, 0.4, rotate: true); _drawSprite(canvas, suitSprite, 0.7, 0.4, rotate: true); - break; case 10: _drawSprite(canvas, suitSprite, 0.3, 0.2); _drawSprite(canvas, suitSprite, 0.7, 0.2); @@ -169,16 +160,12 @@ class Card extends PositionComponent { _drawSprite(canvas, suitSprite, 0.5, 0.3, rotate: true); _drawSprite(canvas, suitSprite, 0.3, 0.4, rotate: true); _drawSprite(canvas, suitSprite, 0.7, 0.4, rotate: true); - break; case 11: _drawSprite(canvas, suit.isRed ? redJack : blackJack, 0.5, 0.5); - break; case 12: _drawSprite(canvas, suit.isRed ? redQueen : blackQueen, 0.5, 0.5); - break; case 13: _drawSprite(canvas, suit.isRed ? redKing : blackKing, 0.5, 0.5); - break; } } diff --git a/doc/tutorials/klondike/app/lib/step4/components/card.dart b/doc/tutorials/klondike/app/lib/step4/components/card.dart index 7ddf4f5cbe1..ef338b43740 100644 --- a/doc/tutorials/klondike/app/lib/step4/components/card.dart +++ b/doc/tutorials/klondike/app/lib/step4/components/card.dart @@ -105,29 +105,24 @@ class Card extends PositionComponent with DragCallbacks { switch (rank.value) { case 1: _drawSprite(canvas, suitSprite, 0.5, 0.5, scale: 2.5); - break; case 2: _drawSprite(canvas, suitSprite, 0.5, 0.25); _drawSprite(canvas, suitSprite, 0.5, 0.25, rotate: true); - break; case 3: _drawSprite(canvas, suitSprite, 0.5, 0.2); _drawSprite(canvas, suitSprite, 0.5, 0.5); _drawSprite(canvas, suitSprite, 0.5, 0.2, rotate: true); - break; case 4: _drawSprite(canvas, suitSprite, 0.3, 0.25); _drawSprite(canvas, suitSprite, 0.7, 0.25); _drawSprite(canvas, suitSprite, 0.3, 0.25, rotate: true); _drawSprite(canvas, suitSprite, 0.7, 0.25, rotate: true); - break; case 5: _drawSprite(canvas, suitSprite, 0.3, 0.25); _drawSprite(canvas, suitSprite, 0.7, 0.25); _drawSprite(canvas, suitSprite, 0.3, 0.25, rotate: true); _drawSprite(canvas, suitSprite, 0.7, 0.25, rotate: true); _drawSprite(canvas, suitSprite, 0.5, 0.5); - break; case 6: _drawSprite(canvas, suitSprite, 0.3, 0.25); _drawSprite(canvas, suitSprite, 0.7, 0.25); @@ -135,7 +130,6 @@ class Card extends PositionComponent with DragCallbacks { _drawSprite(canvas, suitSprite, 0.7, 0.5); _drawSprite(canvas, suitSprite, 0.3, 0.25, rotate: true); _drawSprite(canvas, suitSprite, 0.7, 0.25, rotate: true); - break; case 7: _drawSprite(canvas, suitSprite, 0.3, 0.2); _drawSprite(canvas, suitSprite, 0.7, 0.2); @@ -144,7 +138,6 @@ class Card extends PositionComponent with DragCallbacks { _drawSprite(canvas, suitSprite, 0.7, 0.5); _drawSprite(canvas, suitSprite, 0.3, 0.2, rotate: true); _drawSprite(canvas, suitSprite, 0.7, 0.2, rotate: true); - break; case 8: _drawSprite(canvas, suitSprite, 0.3, 0.2); _drawSprite(canvas, suitSprite, 0.7, 0.2); @@ -154,7 +147,6 @@ class Card extends PositionComponent with DragCallbacks { _drawSprite(canvas, suitSprite, 0.3, 0.2, rotate: true); _drawSprite(canvas, suitSprite, 0.7, 0.2, rotate: true); _drawSprite(canvas, suitSprite, 0.5, 0.35, rotate: true); - break; case 9: _drawSprite(canvas, suitSprite, 0.3, 0.2); _drawSprite(canvas, suitSprite, 0.7, 0.2); @@ -165,7 +157,6 @@ class Card extends PositionComponent with DragCallbacks { _drawSprite(canvas, suitSprite, 0.7, 0.2, rotate: true); _drawSprite(canvas, suitSprite, 0.3, 0.4, rotate: true); _drawSprite(canvas, suitSprite, 0.7, 0.4, rotate: true); - break; case 10: _drawSprite(canvas, suitSprite, 0.3, 0.2); _drawSprite(canvas, suitSprite, 0.7, 0.2); @@ -177,16 +168,12 @@ class Card extends PositionComponent with DragCallbacks { _drawSprite(canvas, suitSprite, 0.5, 0.3, rotate: true); _drawSprite(canvas, suitSprite, 0.3, 0.4, rotate: true); _drawSprite(canvas, suitSprite, 0.7, 0.4, rotate: true); - break; case 11: _drawSprite(canvas, suit.isRed ? redJack : blackJack, 0.5, 0.5); - break; case 12: _drawSprite(canvas, suit.isRed ? redQueen : blackQueen, 0.5, 0.5); - break; case 13: _drawSprite(canvas, suit.isRed ? redKing : blackKing, 0.5, 0.5); - break; } } diff --git a/doc/tutorials/klondike/app/lib/step5/components/card.dart b/doc/tutorials/klondike/app/lib/step5/components/card.dart index 858bd3eca86..4c2f755704f 100644 --- a/doc/tutorials/klondike/app/lib/step5/components/card.dart +++ b/doc/tutorials/klondike/app/lib/step5/components/card.dart @@ -143,29 +143,24 @@ class Card extends PositionComponent switch (rank.value) { case 1: _drawSprite(canvas, suitSprite, 0.5, 0.5, scale: 2.5); - break; case 2: _drawSprite(canvas, suitSprite, 0.5, 0.25); _drawSprite(canvas, suitSprite, 0.5, 0.25, rotate: true); - break; case 3: _drawSprite(canvas, suitSprite, 0.5, 0.2); _drawSprite(canvas, suitSprite, 0.5, 0.5); _drawSprite(canvas, suitSprite, 0.5, 0.2, rotate: true); - break; case 4: _drawSprite(canvas, suitSprite, 0.3, 0.25); _drawSprite(canvas, suitSprite, 0.7, 0.25); _drawSprite(canvas, suitSprite, 0.3, 0.25, rotate: true); _drawSprite(canvas, suitSprite, 0.7, 0.25, rotate: true); - break; case 5: _drawSprite(canvas, suitSprite, 0.3, 0.25); _drawSprite(canvas, suitSprite, 0.7, 0.25); _drawSprite(canvas, suitSprite, 0.3, 0.25, rotate: true); _drawSprite(canvas, suitSprite, 0.7, 0.25, rotate: true); _drawSprite(canvas, suitSprite, 0.5, 0.5); - break; case 6: _drawSprite(canvas, suitSprite, 0.3, 0.25); _drawSprite(canvas, suitSprite, 0.7, 0.25); @@ -173,7 +168,6 @@ class Card extends PositionComponent _drawSprite(canvas, suitSprite, 0.7, 0.5); _drawSprite(canvas, suitSprite, 0.3, 0.25, rotate: true); _drawSprite(canvas, suitSprite, 0.7, 0.25, rotate: true); - break; case 7: _drawSprite(canvas, suitSprite, 0.3, 0.2); _drawSprite(canvas, suitSprite, 0.7, 0.2); @@ -182,7 +176,6 @@ class Card extends PositionComponent _drawSprite(canvas, suitSprite, 0.7, 0.5); _drawSprite(canvas, suitSprite, 0.3, 0.2, rotate: true); _drawSprite(canvas, suitSprite, 0.7, 0.2, rotate: true); - break; case 8: _drawSprite(canvas, suitSprite, 0.3, 0.2); _drawSprite(canvas, suitSprite, 0.7, 0.2); @@ -192,7 +185,6 @@ class Card extends PositionComponent _drawSprite(canvas, suitSprite, 0.3, 0.2, rotate: true); _drawSprite(canvas, suitSprite, 0.7, 0.2, rotate: true); _drawSprite(canvas, suitSprite, 0.5, 0.35, rotate: true); - break; case 9: _drawSprite(canvas, suitSprite, 0.3, 0.2); _drawSprite(canvas, suitSprite, 0.7, 0.2); @@ -203,7 +195,6 @@ class Card extends PositionComponent _drawSprite(canvas, suitSprite, 0.7, 0.2, rotate: true); _drawSprite(canvas, suitSprite, 0.3, 0.4, rotate: true); _drawSprite(canvas, suitSprite, 0.7, 0.4, rotate: true); - break; case 10: _drawSprite(canvas, suitSprite, 0.3, 0.2); _drawSprite(canvas, suitSprite, 0.7, 0.2); @@ -215,16 +206,12 @@ class Card extends PositionComponent _drawSprite(canvas, suitSprite, 0.5, 0.3, rotate: true); _drawSprite(canvas, suitSprite, 0.3, 0.4, rotate: true); _drawSprite(canvas, suitSprite, 0.7, 0.4, rotate: true); - break; case 11: _drawSprite(canvas, suit.isRed ? redJack : blackJack, 0.5, 0.5); - break; case 12: _drawSprite(canvas, suit.isRed ? redQueen : blackQueen, 0.5, 0.5); - break; case 13: _drawSprite(canvas, suit.isRed ? redKing : blackKing, 0.5, 0.5); - break; } } diff --git a/doc/tutorials/klondike/step3.md b/doc/tutorials/klondike/step3.md index 27fd4d24b01..242314fe0a5 100644 --- a/doc/tutorials/klondike/step3.md +++ b/doc/tutorials/klondike/step3.md @@ -401,29 +401,24 @@ of drawing various sprites in different places on the card's face: switch (rank.value) { case 1: _drawSprite(canvas, suitSprite, 0.5, 0.5, scale: 2.5); - break; case 2: _drawSprite(canvas, suitSprite, 0.5, 0.25); _drawSprite(canvas, suitSprite, 0.5, 0.25, rotate: true); - break; case 3: _drawSprite(canvas, suitSprite, 0.5, 0.2); _drawSprite(canvas, suitSprite, 0.5, 0.5); _drawSprite(canvas, suitSprite, 0.5, 0.2, rotate: true); - break; case 4: _drawSprite(canvas, suitSprite, 0.3, 0.25); _drawSprite(canvas, suitSprite, 0.7, 0.25); _drawSprite(canvas, suitSprite, 0.3, 0.25, rotate: true); _drawSprite(canvas, suitSprite, 0.7, 0.25, rotate: true); - break; case 5: _drawSprite(canvas, suitSprite, 0.3, 0.25); _drawSprite(canvas, suitSprite, 0.7, 0.25); _drawSprite(canvas, suitSprite, 0.3, 0.25, rotate: true); _drawSprite(canvas, suitSprite, 0.7, 0.25, rotate: true); _drawSprite(canvas, suitSprite, 0.5, 0.5); - break; case 6: _drawSprite(canvas, suitSprite, 0.3, 0.25); _drawSprite(canvas, suitSprite, 0.7, 0.25); @@ -431,7 +426,6 @@ of drawing various sprites in different places on the card's face: _drawSprite(canvas, suitSprite, 0.7, 0.5); _drawSprite(canvas, suitSprite, 0.3, 0.25, rotate: true); _drawSprite(canvas, suitSprite, 0.7, 0.25, rotate: true); - break; case 7: _drawSprite(canvas, suitSprite, 0.3, 0.2); _drawSprite(canvas, suitSprite, 0.7, 0.2); @@ -440,7 +434,6 @@ of drawing various sprites in different places on the card's face: _drawSprite(canvas, suitSprite, 0.7, 0.5); _drawSprite(canvas, suitSprite, 0.3, 0.2, rotate: true); _drawSprite(canvas, suitSprite, 0.7, 0.2, rotate: true); - break; case 8: _drawSprite(canvas, suitSprite, 0.3, 0.2); _drawSprite(canvas, suitSprite, 0.7, 0.2); @@ -450,7 +443,6 @@ of drawing various sprites in different places on the card's face: _drawSprite(canvas, suitSprite, 0.3, 0.2, rotate: true); _drawSprite(canvas, suitSprite, 0.7, 0.2, rotate: true); _drawSprite(canvas, suitSprite, 0.5, 0.35, rotate: true); - break; case 9: _drawSprite(canvas, suitSprite, 0.3, 0.2); _drawSprite(canvas, suitSprite, 0.7, 0.2); @@ -461,7 +453,6 @@ of drawing various sprites in different places on the card's face: _drawSprite(canvas, suitSprite, 0.7, 0.2, rotate: true); _drawSprite(canvas, suitSprite, 0.3, 0.4, rotate: true); _drawSprite(canvas, suitSprite, 0.7, 0.4, rotate: true); - break; case 10: _drawSprite(canvas, suitSprite, 0.3, 0.2); _drawSprite(canvas, suitSprite, 0.7, 0.2); @@ -473,16 +464,12 @@ of drawing various sprites in different places on the card's face: _drawSprite(canvas, suitSprite, 0.5, 0.3, rotate: true); _drawSprite(canvas, suitSprite, 0.3, 0.4, rotate: true); _drawSprite(canvas, suitSprite, 0.7, 0.4, rotate: true); - break; case 11: _drawSprite(canvas, suit.isRed? redJack : blackJack, 0.5, 0.5); - break; case 12: _drawSprite(canvas, suit.isRed? redQueen : blackQueen, 0.5, 0.5); - break; case 13: _drawSprite(canvas, suit.isRed? redKing : blackKing, 0.5, 0.5); - break; } ``` diff --git a/doc/tutorials/platformer/app/lib/ember_quest.dart b/doc/tutorials/platformer/app/lib/ember_quest.dart index fbf866aa960..057eea17ad2 100644 --- a/doc/tutorials/platformer/app/lib/ember_quest.dart +++ b/doc/tutorials/platformer/app/lib/ember_quest.dart @@ -56,40 +56,26 @@ class EmberQuestGame extends FlameGame void loadGameSegments(int segmentIndex, double xPositionOffset) { for (final block in segments[segmentIndex]) { - switch (block.blockType) { - case GroundBlock: - world.add( - GroundBlock( - gridPosition: block.gridPosition, - xOffset: xPositionOffset, - ), - ); - break; - case PlatformBlock: - world.add( - PlatformBlock( - gridPosition: block.gridPosition, - xOffset: xPositionOffset, - ), - ); - break; - case Star: - world.add( - Star( - gridPosition: block.gridPosition, - xOffset: xPositionOffset, - ), - ); - break; - case WaterEnemy: - world.add( - WaterEnemy( - gridPosition: block.gridPosition, - xOffset: xPositionOffset, - ), - ); - break; - } + final component = switch (block.blockType) { + GroundBlock => GroundBlock( + gridPosition: block.gridPosition, + xOffset: xPositionOffset, + ), + PlatformBlock => PlatformBlock( + gridPosition: block.gridPosition, + xOffset: xPositionOffset, + ), + Star => Star( + gridPosition: block.gridPosition, + xOffset: xPositionOffset, + ), + WaterEnemy => WaterEnemy( + gridPosition: block.gridPosition, + xOffset: xPositionOffset, + ), + _ => throw UnimplementedError(), + }; + world.add(component); } } diff --git a/doc/tutorials/platformer/step_3.md b/doc/tutorials/platformer/step_3.md index e97fa65e399..bcf9190e704 100644 --- a/doc/tutorials/platformer/step_3.md +++ b/doc/tutorials/platformer/step_3.md @@ -235,13 +235,9 @@ void loadGameSegments(int segmentIndex, double xPositionOffset) { for (final block in segments[segmentIndex]) { switch (block.blockType) { case GroundBlock: - break; case PlatformBlock: - break; case Star: - break; case WaterEnemy: - break; } } } @@ -434,7 +430,6 @@ case PlatformBlock: gridPosition: block.gridPosition, xOffset: xPositionOffset, )); - break; ``` If you run your code, you should now see: diff --git a/doc/tutorials/platformer/step_4.md b/doc/tutorials/platformer/step_4.md index 03414ca0758..e84f72f21d7 100644 --- a/doc/tutorials/platformer/step_4.md +++ b/doc/tutorials/platformer/step_4.md @@ -90,7 +90,6 @@ case Star: xOffset: xPositionOffset, ), ); - break; ``` If you run your game, you should now see pulsating stars! @@ -177,7 +176,6 @@ case WaterEnemy: xOffset: xPositionOffset, ), ); - break; ``` If you run the game now, the Water Enemy should be displayed and moving! @@ -397,7 +395,6 @@ case GroundBlock: xOffset: xPositionOffset, ), ); - break; ``` If you run your code, your game should now look like this: diff --git a/doc/tutorials/space_shooter/app/lib/main.dart b/doc/tutorials/space_shooter/app/lib/main.dart index 740718f8bca..ee73693bc65 100644 --- a/doc/tutorials/space_shooter/app/lib/main.dart +++ b/doc/tutorials/space_shooter/app/lib/main.dart @@ -14,32 +14,18 @@ void main() { page = page.substring(1); } - switch (page) { - case 'step1': - step1.main(); - break; - case 'step2': - step2.main(); - break; - case 'step3': - step3.main(); - break; - case 'step4': - step4.main(); - break; - case 'step5': - step5.main(); - break; - case 'step6': - step6.main(); - break; - - default: - runApp( + return switch (page) { + 'step1' => step1.main(), + 'step2' => step2.main(), + 'step3' => step3.main(), + 'step4' => step4.main(), + 'step5' => step5.main(), + 'step6' => step6.main(), + _ => runApp( Directionality( textDirection: TextDirection.ltr, child: Text('Error: unknown page name "$page"'), ), - ); - } + ), + }; } diff --git a/examples/games/padracing/lib/game_colors.dart b/examples/games/padracing/lib/game_colors.dart index 4ada30c2bcc..fbd2d9168f6 100644 --- a/examples/games/padracing/lib/game_colors.dart +++ b/examples/games/padracing/lib/game_colors.dart @@ -8,12 +8,10 @@ enum GameColors { extension GameColorExtension on GameColors { Color get color { - switch (this) { - case GameColors.green: - return ColorExtension.fromRGBHexString('#14F596'); - case GameColors.blue: - return ColorExtension.fromRGBHexString('#81DDF9'); - } + return switch (this) { + GameColors.green => ColorExtension.fromRGBHexString('#14F596'), + GameColors.blue => ColorExtension.fromRGBHexString('#81DDF9'), + }; } Paint get paint => Paint()..color = color; diff --git a/examples/games/trex/lib/obstacle/obstacle_type.dart b/examples/games/trex/lib/obstacle/obstacle_type.dart index 79891da56a2..30468e1ff5a 100644 --- a/examples/games/trex/lib/obstacle/obstacle_type.dart +++ b/examples/games/trex/lib/obstacle/obstacle_type.dart @@ -89,19 +89,17 @@ class ObstacleTypeSettings { ); Sprite sprite(Image spriteImage) { - switch (type) { - case ObstacleType.cactusSmall: - return Sprite( + return switch (type) { + ObstacleType.cactusSmall => Sprite( spriteImage, srcPosition: Vector2(446.0, 2.0), srcSize: size, - ); - case ObstacleType.cactusLarge: - return Sprite( + ), + ObstacleType.cactusLarge => Sprite( spriteImage, srcPosition: Vector2(652.0, 2.0), srcSize: size, - ); - } + ), + }; } } 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 44fab01a772..59198f9586d 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 @@ -115,16 +115,10 @@ class CalculatePrimeNumber extends PositionComponent final nextInt = _primeData.key + 1; try { - final bool isPrime; - - switch (computeType) { - case ComputeType.isolate: - isPrime = await isolateCompute(_isPrime, nextInt); - break; - case ComputeType.synchronous: - isPrime = _isPrime(nextInt); - break; - } + final isPrime = switch (computeType) { + ComputeType.isolate => await isolateCompute(_isPrime, nextInt), + ComputeType.synchronous => _isPrime(nextInt), + }; _primeData = MapEntry(nextInt, isPrime); } on BackpressureDropException catch (_) { diff --git a/examples/lib/stories/collision_detection/multiple_shapes_example.dart b/examples/lib/stories/collision_detection/multiple_shapes_example.dart index 15fd761a8e9..9375acf02dc 100644 --- a/examples/lib/stories/collision_detection/multiple_shapes_example.dart +++ b/examples/lib/stories/collision_detection/multiple_shapes_example.dart @@ -287,15 +287,13 @@ MyCollidable randomCollidable( 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) - ..rotationSpeed = rotationSpeed; - case Shapes.rectangle: - return CollidableRectangle(position, size, velocity, screenHitbox) - ..rotationSpeed = rotationSpeed; - case Shapes.polygon: - return CollidablePolygon(position, size, velocity, screenHitbox) - ..rotationSpeed = rotationSpeed; - } + return switch (shapeType) { + Shapes.circle => CollidableCircle(position, size, velocity, screenHitbox) + ..rotationSpeed = rotationSpeed, + Shapes.rectangle => + CollidableRectangle(position, size, velocity, screenHitbox) + ..rotationSpeed = rotationSpeed, + Shapes.polygon => CollidablePolygon(position, size, velocity, screenHitbox) + ..rotationSpeed = rotationSpeed, + }; } diff --git a/examples/lib/stories/components/spawn_component_example.dart b/examples/lib/stories/components/spawn_component_example.dart index a4830a11e67..8f0c763a097 100644 --- a/examples/lib/stories/components/spawn_component_example.dart +++ b/examples/lib/stories/components/spawn_component_example.dart @@ -18,18 +18,15 @@ class SpawnComponentWorld extends World with TapCallbacks { @override void onTapDown(TapDownEvent info) { final shapeType = Shapes.values.random(); - final Shape shape; + final position = info.localPosition; - switch (shapeType) { - case Shapes.rectangle: - shape = Rectangle.fromCenter( + final shape = switch (shapeType) { + Shapes.rectangle => Rectangle.fromCenter( center: position, size: Vector2.all(200), - ); - case Shapes.circle: - shape = Circle(position, 150); - case Shapes.polygon: - shape = Polygon( + ), + Shapes.circle => Circle(position, 150), + Shapes.polygon => Polygon( [ Vector2(-1.0, 0.0), Vector2(-0.8, 0.6), @@ -44,8 +41,8 @@ class SpawnComponentWorld extends World with TapCallbacks { ..scale(200) ..add(position); }).toList(), - ); - } + ), + }; add( SpawnComponent( diff --git a/examples/lib/stories/input/gesture_hitboxes_example.dart b/examples/lib/stories/input/gesture_hitboxes_example.dart index 84a657fc74b..817c607193c 100644 --- a/examples/lib/stories/input/gesture_hitboxes_example.dart +++ b/examples/lib/stories/input/gesture_hitboxes_example.dart @@ -27,21 +27,19 @@ class _GestureHitboxesWorld extends World with TapCallbacks { final shapeSize = Vector2.all(100) + Vector2.all(50.0).scaled(_rng.nextDouble()); final shapeAngle = _rng.nextDouble() * 6; - ShapeHitbox hitbox; - switch (shapeType) { - case Shapes.circle: - hitbox = CircleHitbox(); - case Shapes.rectangle: - hitbox = RectangleHitbox(); - case Shapes.polygon: - final points = [ - -Vector2.random(_rng), - Vector2.random(_rng)..x *= -1, - Vector2.random(_rng), - Vector2.random(_rng)..y *= -1, - ]; - hitbox = PolygonHitbox.relative(points, parentSize: shapeSize); - } + final hitbox = switch (shapeType) { + Shapes.circle => CircleHitbox(), + Shapes.rectangle => RectangleHitbox(), + Shapes.polygon => PolygonHitbox.relative( + [ + -Vector2.random(_rng), + Vector2.random(_rng)..x *= -1, + Vector2.random(_rng), + Vector2.random(_rng)..y *= -1, + ], + parentSize: shapeSize, + ), + }; return MyShapeComponent( hitbox: hitbox, position: position, diff --git a/packages/flame/lib/src/collisions/broadphase/quadtree/quadtree.dart b/packages/flame/lib/src/collisions/broadphase/quadtree/quadtree.dart index 3bb1706e57f..a2abbfcd117 100644 --- a/packages/flame/lib/src/collisions/broadphase/quadtree/quadtree.dart +++ b/packages/flame/lib/src/collisions/broadphase/quadtree/quadtree.dart @@ -369,18 +369,13 @@ enum _QuadTreeZone { const _QuadTreeZone(this.value); factory _QuadTreeZone.fromIndex(int i) { - switch (i) { - case 0: - return _QuadTreeZone.topLeft; - case 1: - return _QuadTreeZone.topRight; - case 2: - return _QuadTreeZone.bottomLeft; - case 3: - return _QuadTreeZone.bottomRight; - default: - return _QuadTreeZone.root; - } + return switch (i) { + 0 => _QuadTreeZone.topLeft, + 1 => _QuadTreeZone.topRight, + 2 => _QuadTreeZone.bottomLeft, + 3 => _QuadTreeZone.bottomRight, + _ => _QuadTreeZone.root, + }; } final int value; diff --git a/packages/flame/lib/src/components/core/component_tree_root.dart b/packages/flame/lib/src/components/core/component_tree_root.dart index c9efc869459..ee4f8f97a01 100644 --- a/packages/flame/lib/src/components/core/component_tree_root.dart +++ b/packages/flame/lib/src/components/core/component_tree_root.dart @@ -86,31 +86,23 @@ class ComponentTreeRoot extends Component { _blocked.contains(identityHashCode(parent))) { continue; } - var status = LifecycleEventStatus.done; - switch (event.kind) { - case _LifecycleEventKind.add: - status = child.handleLifecycleEventAdd(parent); - break; - case _LifecycleEventKind.remove: - status = child.handleLifecycleEventRemove(parent); - break; - case _LifecycleEventKind.move: - status = child.handleLifecycleEventMove(parent); - break; - case _LifecycleEventKind.unknown: - break; - } + + final status = switch (event.kind) { + _LifecycleEventKind.add => child.handleLifecycleEventAdd(parent), + _LifecycleEventKind.remove => + child.handleLifecycleEventRemove(parent), + _LifecycleEventKind.move => child.handleLifecycleEventMove(parent), + _LifecycleEventKind.unknown => LifecycleEventStatus.done, + }; + switch (status) { case LifecycleEventStatus.done: _queue.removeCurrent(); repeatLoop = true; - break; case LifecycleEventStatus.block: _blocked.add(identityHashCode(child)); _blocked.add(identityHashCode(parent)); - break; default: - break; } } _blocked.clear(); diff --git a/packages/flame/lib/src/parallax.dart b/packages/flame/lib/src/parallax.dart index d1928cb52c2..c6ea4b99029 100644 --- a/packages/flame/lib/src/parallax.dart +++ b/packages/flame/lib/src/parallax.dart @@ -250,14 +250,11 @@ class ParallaxLayer { void resize(Vector2 size) { double scale(LayerFill fill) { - switch (fill) { - case LayerFill.height: - return parallaxRenderer.image.height / size.y; - case LayerFill.width: - return parallaxRenderer.image.width / size.x; - default: - return _scale; - } + return switch (fill) { + LayerFill.height => parallaxRenderer.image.height / size.y, + LayerFill.width => parallaxRenderer.image.width / size.x, + _ => _scale, + }; } _scale = scale(parallaxRenderer.fill); @@ -299,15 +296,11 @@ class ParallaxLayer { switch (parallaxRenderer.repeat) { case ImageRepeat.repeat: _scroll.setValues(_scroll.x % 1, _scroll.y % 1); - break; case ImageRepeat.repeatX: _scroll.setValues(_scroll.x % 1, _scroll.y); - break; case ImageRepeat.repeatY: _scroll.setValues(_scroll.x, _scroll.y % 1); - break; case ImageRepeat.noRepeat: - break; } _paintArea = Rect.fromLTWH( diff --git a/packages/flame/test/extensions/image_extension_test.dart b/packages/flame/test/extensions/image_extension_test.dart index 99d4bd2cfd0..98c40b8f134 100644 --- a/packages/flame/test/extensions/image_extension_test.dart +++ b/packages/flame/test/extensions/image_extension_test.dart @@ -58,20 +58,7 @@ void main() { final pixels = Uint8List.fromList( List.generate( 100 * 4, - (index) { - switch (index % 4) { - case 0: - return originalColor.red; - case 1: - return originalColor.green; - case 2: - return originalColor.blue; - case 3: - return originalColor.alpha; - default: - throw 'No 4 in switch % 4'; - } - }, + (index) => _colorBit(index, originalColor), ), ); final image = await ImageExtension.fromPixels(pixels, 10, 10); @@ -85,20 +72,7 @@ void main() { final expectedDarkenPixels = Uint8List.fromList( List.generate( 100 * 4, - (index) { - switch (index % 4) { - case 0: - return darkenColor.red; - case 1: - return darkenColor.green; - case 2: - return darkenColor.blue; - case 3: - return darkenColor.alpha; - default: - throw 'No 4 in switch % 4'; - } - }, + (index) => _colorBit(index, darkenColor), ), ); expect(originalDarkenPixelsList, expectedDarkenPixels); @@ -109,20 +83,7 @@ void main() { final pixels = Uint8List.fromList( List.generate( 100 * 4, - (index) { - switch (index % 4) { - case 0: - return originalColor.red; - case 1: - return originalColor.green; - case 2: - return originalColor.blue; - case 3: - return originalColor.alpha; - default: - throw 'No 4 in switch % 4'; - } - }, + (index) => _colorBit(index, originalColor), ), ); final image = await ImageExtension.fromPixels(pixels, 10, 10); @@ -136,20 +97,7 @@ void main() { final expectedBrightenPixels = Uint8List.fromList( List.generate( 100 * 4, - (index) { - switch (index % 4) { - case 0: - return brightenColor.red; - case 1: - return brightenColor.green; - case 2: - return brightenColor.blue; - case 3: - return brightenColor.alpha; - default: - throw 'No 4 in switch % 4'; - } - }, + (index) => _colorBit(index, brightenColor), ), ); expect(originalBrightenPixelsList, expectedBrightenPixels); @@ -170,3 +118,13 @@ void main() { }); }); } + +int _colorBit(int index, Color color) { + return switch (index % 4) { + 0 => color.red, + 1 => color.green, + 2 => color.blue, + 3 => color.alpha, + _ => throw UnimplementedError(), + }; +} diff --git a/packages/flame_behavior_tree/behavior_tree/lib/src/decorators/inverter.dart b/packages/flame_behavior_tree/behavior_tree/lib/src/decorators/inverter.dart index 776dbf887ed..feb150b5afc 100644 --- a/packages/flame_behavior_tree/behavior_tree/lib/src/decorators/inverter.dart +++ b/packages/flame_behavior_tree/behavior_tree/lib/src/decorators/inverter.dart @@ -18,16 +18,12 @@ class Inverter extends BaseNode implements NodeInterface { } void _invertStatus() { - switch (child.status) { - case NodeStatus.notStarted: - status = NodeStatus.notStarted; - case NodeStatus.running: - status = NodeStatus.running; - case NodeStatus.success: - status = NodeStatus.failure; - case NodeStatus.failure: - status = NodeStatus.success; - } + status = switch (child.status) { + NodeStatus.notStarted => NodeStatus.notStarted, + NodeStatus.running => NodeStatus.running, + NodeStatus.success => NodeStatus.failure, + NodeStatus.failure => NodeStatus.success, + }; } @override 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 b68bf6ad88d..da0aa41195f 100644 --- a/packages/flame_bloc/example/lib/src/game/components/bullet.dart +++ b/packages/flame_bloc/example/lib/src/game/components/bullet.dart @@ -26,34 +26,25 @@ class BulletComponent extends SpriteAnimationComponent } double _mapWidth() { - switch (weapon) { - case Weapon.bullet: - return 10; - case Weapon.laser: - case Weapon.plasma: - return 5; - } + return switch (weapon) { + Weapon.bullet => 10, + Weapon.laser || Weapon.plasma => 5, + }; } String _mapSpritePath() { - switch (weapon) { - case Weapon.bullet: - return 'bullet.png'; - case Weapon.laser: - return 'laser.png'; - case Weapon.plasma: - return 'plasma.png'; - } + return switch (weapon) { + Weapon.bullet => 'bullet.png', + Weapon.laser => 'laser.png', + Weapon.plasma => 'plasma.png', + }; } double _mapSpriteWidth() { - switch (weapon) { - case Weapon.bullet: - return 8; - case Weapon.laser: - case Weapon.plasma: - return 4; - } + return switch (weapon) { + Weapon.bullet => 8, + Weapon.laser || Weapon.plasma => 4, + }; } @override diff --git a/packages/flame_bloc/example/lib/src/inventory/view/inventory.dart b/packages/flame_bloc/example/lib/src/inventory/view/inventory.dart index 8c84c50eb43..4a4f2f0edff 100644 --- a/packages/flame_bloc/example/lib/src/inventory/view/inventory.dart +++ b/packages/flame_bloc/example/lib/src/inventory/view/inventory.dart @@ -6,25 +6,19 @@ class Inventory extends StatelessWidget { const Inventory({super.key}); Color _mapWeaponColor(Weapon weapon) { - switch (weapon) { - case Weapon.bullet: - return Colors.orange; - case Weapon.laser: - return Colors.red; - case Weapon.plasma: - return Colors.blue; - } + return switch (weapon) { + Weapon.bullet => Colors.orange, + Weapon.laser => Colors.red, + Weapon.plasma => Colors.blue, + }; } String _mapWeaponName(Weapon weapon) { - switch (weapon) { - case Weapon.bullet: - return 'Kinetic'; - case Weapon.laser: - return 'Laser'; - case Weapon.plasma: - return 'Plasma'; - } + return switch (weapon) { + Weapon.bullet => 'Kinetic', + Weapon.laser => 'Laser', + Weapon.plasma => 'Plasma', + }; } @override diff --git a/packages/flame_forge2d/lib/body_component.dart b/packages/flame_forge2d/lib/body_component.dart index ae86a2f9f73..513fab088c9 100644 --- a/packages/flame_forge2d/lib/body_component.dart +++ b/packages/flame_forge2d/lib/body_component.dart @@ -135,16 +135,12 @@ class BodyComponent extends Component switch (fixture.type) { case ShapeType.chain: _renderChain(canvas, fixture); - break; case ShapeType.circle: _renderCircle(canvas, fixture); - break; case ShapeType.edge: _renderEdge(canvas, fixture); - break; case ShapeType.polygon: _renderPolygon(canvas, fixture); - break; } canvas.restore(); } diff --git a/packages/flame_isolate/example/lib/brains/worker_overmind.dart b/packages/flame_isolate/example/lib/brains/worker_overmind.dart index 9d1553cca02..1b78c083777 100755 --- a/packages/flame_isolate/example/lib/brains/worker_overmind.dart +++ b/packages/flame_isolate/example/lib/brains/worker_overmind.dart @@ -95,26 +95,19 @@ class WorkerOvermind extends Component pathFinderData: game.pathFinderData, ); - final List> paths; - switch (isolateHud.computeType) { - case ComputeType.isolate: - paths = await isolateCompute( + final paths = switch (isolateHud.computeType) { + ComputeType.isolate => await isolateCompute( _calculateWork, calculateWorkData, - ); - break; - case ComputeType.synchronous: - paths = _calculateWork( + ), + ComputeType.synchronous => _calculateWork( calculateWorkData, - ); - break; - case ComputeType.compute: - paths = await compute( + ), + ComputeType.compute => await compute( _calculateWork, calculateWorkData, - ); - break; - } + ), + }; for (var i = 0; i < paths.length; i++) { idleWorkers[i].issueWork( diff --git a/packages/flame_jenny/jenny/lib/src/command_storage.dart b/packages/flame_jenny/jenny/lib/src/command_storage.dart index be088901cef..febb3a0738a 100644 --- a/packages/flame_jenny/jenny/lib/src/command_storage.dart +++ b/packages/flame_jenny/jenny/lib/src/command_storage.dart @@ -205,7 +205,6 @@ class _Cmd { 'which is not a boolean', ); } - break; case _Type.integer: final value = int.tryParse(strValue); if (value == null) { @@ -215,7 +214,6 @@ class _Cmd { ); } _arguments[i] = value; - break; case _Type.double: final value = double.tryParse(strValue); if (value == null) { @@ -225,7 +223,6 @@ class _Cmd { ); } _arguments[i] = value; - break; case _Type.numeric: final value = num.tryParse(strValue); if (value == null) { @@ -235,10 +232,8 @@ class _Cmd { ); } _arguments[i] = value; - break; case _Type.string: _arguments[i] = strValue; - break; } } return _arguments; diff --git a/packages/flame_jenny/jenny/lib/src/function_storage.dart b/packages/flame_jenny/jenny/lib/src/function_storage.dart index b42005239f4..476caaec981 100644 --- a/packages/flame_jenny/jenny/lib/src/function_storage.dart +++ b/packages/flame_jenny/jenny/lib/src/function_storage.dart @@ -99,16 +99,12 @@ class FunctionStorage { return (List args, YarnProject yarn, ErrorFn errorFn) { final arguments = function.checkAndUnpackArguments(args, errorFn); function.useYarnProject(yarn); - switch (function.returnType) { - case ExpressionType.boolean: - return BooleanUserDefinedFn(function, arguments); - case ExpressionType.numeric: - return NumericUserDefinedFn(function, arguments); - case ExpressionType.string: - return StringUserDefinedFn(function, arguments); - default: - throw AssertionError('Bad return type'); // coverage:ignore-line - } + return switch (function.returnType) { + ExpressionType.boolean => BooleanUserDefinedFn(function, arguments), + ExpressionType.numeric => NumericUserDefinedFn(function, arguments), + ExpressionType.string => StringUserDefinedFn(function, arguments), + _ => throw AssertionError('Bad return type'), // coverage:ignore-line + }; }; } diff --git a/packages/flame_markdown/lib/flame_markdown.dart b/packages/flame_markdown/lib/flame_markdown.dart index 68a93a5074d..3d1310f546f 100644 --- a/packages/flame_markdown/lib/flame_markdown.dart +++ b/packages/flame_markdown/lib/flame_markdown.dart @@ -45,30 +45,18 @@ class FlameMarkdown { .map(_castCheck) .toList(); final child = _groupInlineChildren(children); - switch (element.tag) { - case 'h1': - return HeaderNode(child, level: 1); - case 'h2': - return HeaderNode(child, level: 2); - case 'h3': - return HeaderNode(child, level: 3); - case 'h4': - return HeaderNode(child, level: 4); - case 'h5': - return HeaderNode(child, level: 5); - case 'h6': - return HeaderNode(child, level: 6); - case 'p': - return ParagraphNode(child); - case 'em': - case 'i': - return ItalicTextNode(child); - case 'strong': - case 'b': - return BoldTextNode(child); - default: - throw Exception('Unknown element tag: ${element.tag}'); - } + return switch (element.tag) { + 'h1' => HeaderNode(child, level: 1), + 'h2' => HeaderNode(child, level: 2), + 'h3' => HeaderNode(child, level: 3), + 'h4' => HeaderNode(child, level: 4), + 'h5' => HeaderNode(child, level: 5), + 'h6' => HeaderNode(child, level: 6), + 'p' => ParagraphNode(child), + 'em' || 'i' => ItalicTextNode(child), + 'strong' || 'b' => BoldTextNode(child), + _ => throw Exception('Unknown element tag: ${element.tag}'), + } as TextNode; } static PlainTextNode _convertText(Text text) { diff --git a/packages/flame_rive/lib/src/rive_component.dart b/packages/flame_rive/lib/src/rive_component.dart index 8fdae19c9c3..dd48d317c0d 100644 --- a/packages/flame_rive/lib/src/rive_component.dart +++ b/packages/flame_rive/lib/src/rive_component.dart @@ -112,33 +112,26 @@ class RiveArtboardRenderer { case BoxFit.fill: scaleX = size.width / contentWidth; scaleY = size.height / contentHeight; - break; case BoxFit.contain: final minScale = min(size.width / contentWidth, size.height / contentHeight); scaleX = scaleY = minScale; - break; case BoxFit.cover: final maxScale = max(size.width / contentWidth, size.height / contentHeight); scaleX = scaleY = maxScale; - break; case BoxFit.fitHeight: final minScale = size.height / contentHeight; scaleX = scaleY = minScale; - break; case BoxFit.fitWidth: final minScale = size.width / contentWidth; scaleX = scaleY = minScale; - break; case BoxFit.none: scaleX = scaleY = 1.0; - break; case BoxFit.scaleDown: final minScale = min(size.width / contentWidth, size.height / contentHeight); scaleX = scaleY = minScale < 1.0 ? minScale : 1.0; - break; } Mat2D.setIdentity(_transform); diff --git a/packages/flame_tiled/lib/src/renderable_layers/tile_layers/tile_layer.dart b/packages/flame_tiled/lib/src/renderable_layers/tile_layers/tile_layer.dart index d2a5597281f..f1d1b168c82 100644 --- a/packages/flame_tiled/lib/src/renderable_layers/tile_layers/tile_layer.dart +++ b/packages/flame_tiled/lib/src/renderable_layers/tile_layers/tile_layer.dart @@ -71,9 +71,8 @@ abstract class FlameTileLayer extends RenderableLayer { throw StateError('Map orientation should be present'); } - switch (mapOrientation) { - case MapOrientation.isometric: - return IsometricTileLayer( + return switch (mapOrientation) { + MapOrientation.isometric => IsometricTileLayer( layer: layer, parent: parent, map: map, @@ -83,9 +82,8 @@ abstract class FlameTileLayer extends RenderableLayer { ignoreFlip: ignoreFlip, filterQuality: filterQuality, layerPaintFactory: layerPaintFactory, - ); - case MapOrientation.staggered: - return StaggeredTileLayer( + ), + MapOrientation.staggered => StaggeredTileLayer( layer: layer, parent: parent, map: map, @@ -95,9 +93,8 @@ abstract class FlameTileLayer extends RenderableLayer { ignoreFlip: ignoreFlip, filterQuality: filterQuality, layerPaintFactory: layerPaintFactory, - ); - case MapOrientation.hexagonal: - return HexagonalTileLayer( + ), + MapOrientation.hexagonal => HexagonalTileLayer( layer: layer, parent: parent, map: map, @@ -107,9 +104,8 @@ abstract class FlameTileLayer extends RenderableLayer { ignoreFlip: ignoreFlip, filterQuality: filterQuality, layerPaintFactory: layerPaintFactory, - ); - case MapOrientation.orthogonal: - return OrthogonalTileLayer( + ), + MapOrientation.orthogonal => OrthogonalTileLayer( layer: layer, parent: parent, map: map, @@ -119,8 +115,8 @@ abstract class FlameTileLayer extends RenderableLayer { ignoreFlip: ignoreFlip, filterQuality: filterQuality, layerPaintFactory: layerPaintFactory, - ); - } + ), + }; } @override