From f580b4b5e68c1e1a2a3594901524e6c8546ba902 Mon Sep 17 00:00:00 2001 From: Jochum van der Ploeg Date: Tue, 3 May 2022 23:21:42 +0200 Subject: [PATCH] fix: plunger's pull not correctly working on some devices --- packages/pinball_components/lib/src/components/plunger.dart | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/pinball_components/lib/src/components/plunger.dart b/packages/pinball_components/lib/src/components/plunger.dart index 79b370a0..ae528413 100644 --- a/packages/pinball_components/lib/src/components/plunger.dart +++ b/packages/pinball_components/lib/src/components/plunger.dart @@ -1,3 +1,5 @@ +import 'dart:math'; + import 'package:flame/components.dart'; import 'package:flame_forge2d/flame_forge2d.dart'; import 'package:pinball_components/pinball_components.dart'; @@ -97,7 +99,7 @@ class Plunger extends BodyComponent with InitialPosition, Layered, ZIndex { void update(double dt) { // Ensure that we only pull or release when the time is greater than zero. if (_pullingDownTime > 0) { - _pullingDownTime -= dt; + _pullingDownTime -= min(dt, 1 / 60); if (_pullingDownTime <= 0) { release(); } else {