diff --git a/packages/pinball_components/lib/src/components/plunger.dart b/packages/pinball_components/lib/src/components/plunger.dart index 5d54d5f7..4116c135 100644 --- a/packages/pinball_components/lib/src/components/plunger.dart +++ b/packages/pinball_components/lib/src/components/plunger.dart @@ -1,6 +1,5 @@ import 'package:flame/components.dart'; import 'package:flame_forge2d/flame_forge2d.dart'; -import 'package:flutter/services.dart'; import 'package:pinball_components/pinball_components.dart'; /// {@template plunger} @@ -9,7 +8,7 @@ import 'package:pinball_components/pinball_components.dart'; /// /// [Plunger] ignores gravity so the player controls its downward [pull]. /// {@endtemplate} -class Plunger extends BodyComponent with KeyboardHandler, InitialPosition { +class Plunger extends BodyComponent with InitialPosition { /// {@macro plunger} Plunger({ required this.compressionDistance, @@ -57,27 +56,6 @@ class Plunger extends BodyComponent with KeyboardHandler, InitialPosition { body.linearVelocity = Vector2(0, velocity); } - @override - bool onKeyEvent( - RawKeyEvent event, - Set keysPressed, - ) { - final keys = [ - LogicalKeyboardKey.space, - LogicalKeyboardKey.arrowDown, - LogicalKeyboardKey.keyS, - ]; - if (!keys.contains(event.logicalKey)) return true; - - if (event is RawKeyDownEvent) { - pull(); - } else if (event is RawKeyUpEvent) { - release(); - } - - return false; - } - /// Anchors the [Plunger] to the [PrismaticJoint] that controls its vertical /// motion. Future _anchorToJoint() async { diff --git a/packages/pinball_components/sandbox/lib/stories/plunger/plunger_game.dart b/packages/pinball_components/sandbox/lib/stories/plunger/plunger_game.dart index 4e497b07..baaab21b 100644 --- a/packages/pinball_components/sandbox/lib/stories/plunger/plunger_game.dart +++ b/packages/pinball_components/sandbox/lib/stories/plunger/plunger_game.dart @@ -40,14 +40,15 @@ class PlungerGame extends BasicBallGame with KeyboardEvents, Traceable { RawKeyEvent event, Set keysPressed, ) { - final movedDownPlunger = _downKeys.contains(event.logicalKey); - if (movedDownPlunger) { + final movedPlungerDown = _downKeys.contains(event.logicalKey); + if (movedPlungerDown) { if (event is RawKeyDownEvent) { plunger.pull(); } else if (event is RawKeyUpEvent) { plunger.release(); } + return KeyEventResult.handled; } - return movedDownPlunger ? KeyEventResult.handled : KeyEventResult.ignored; + return KeyEventResult.ignored; } }