From 9a0f72693c753649c2bdc716d3c2c58a40711b55 Mon Sep 17 00:00:00 2001 From: Jochum van der Ploeg Date: Thu, 28 Apr 2022 14:34:41 +0200 Subject: [PATCH] feat: add mobile touch controls --- lib/game/pinball_game.dart | 21 ++++++++------------- 1 file changed, 8 insertions(+), 13 deletions(-) diff --git a/lib/game/pinball_game.dart b/lib/game/pinball_game.dart index 9d72804d..586a3226 100644 --- a/lib/game/pinball_game.dart +++ b/lib/game/pinball_game.dart @@ -82,7 +82,7 @@ class PinballGame extends Forge2DGame await super.onLoad(); } - BoardSide? boardSideActive; + BoardSide? focusedBoardSide; @override void onTapDown(TapDownInfo info) { @@ -94,14 +94,11 @@ class PinballGame extends Forge2DGame children.whereType().first.pull(); } else { final leftSide = info.eventPosition.widget.x < canvasSize.x / 2; - boardSideActive = leftSide ? BoardSide.left : BoardSide.right; + focusedBoardSide = leftSide ? BoardSide.left : BoardSide.right; final flippers = descendants().whereType().where((flipper) { - return flipper.side == boardSideActive; + return flipper.side == focusedBoardSide; }); - - for (final flipper in flippers) { - flipper.moveUp(); - } + flippers.first.moveUp(); } } @@ -130,14 +127,12 @@ class PinballGame extends Forge2DGame } void _moveFlippersDown() { - if (boardSideActive != null) { + if (focusedBoardSide != null) { final flippers = descendants().whereType().where((flipper) { - return flipper.side == boardSideActive; + return flipper.side == focusedBoardSide; }); - for (final flipper in flippers) { - flipper.moveDown(); - } - boardSideActive = null; + flippers.first.moveDown(); + focusedBoardSide = null; } } }