From 3231b9a6e62c2ce1c515b2edf5ffd1f0de72a4be Mon Sep 17 00:00:00 2001 From: alestiago Date: Sat, 30 Apr 2022 09:04:48 +0100 Subject: [PATCH] feat: based BumpingBehavior on world's normal --- .../lib/src/components/bumping_behavior.dart | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/packages/pinball_components/lib/src/components/bumping_behavior.dart b/packages/pinball_components/lib/src/components/bumping_behavior.dart index 654f96b4..e2caa512 100644 --- a/packages/pinball_components/lib/src/components/bumping_behavior.dart +++ b/packages/pinball_components/lib/src/components/bumping_behavior.dart @@ -16,10 +16,14 @@ class BumpingBehavior extends ContactBehavior { super.postSolve(other, contact, impulse); if (other is! BodyComponent) return; + final worldManifold = WorldManifold(); + contact.getWorldManifold(worldManifold); + other.body.applyLinearImpulse( - contact.manifold.localPoint - ..normalize() - ..multiply(Vector2.all(other.body.mass * _strength)), + worldManifold.normal + ..multiply( + Vector2.all(other.body.mass * _strength), + ), ); } }