chore: anchor plunger internally (#43)

* chore: anchor plunger internally

* chore: remove group

* Update lib/game/components/plunger.dart

Co-authored-by: Alejandro Santiago <dev@alestiago.com>

Co-authored-by: Alejandro Santiago <dev@alestiago.com>
pull/45/head
Allison Ryan 4 years ago committed by GitHub
parent 1754602634
commit 2671ec4020
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -74,6 +74,25 @@ class Plunger extends BodyComponent with KeyboardHandler {
return true;
}
/// Anchors the [Plunger] to the [PrismaticJoint] that controls its vertical
/// motion.
Future<void> _anchorToJoint() async {
final anchor = PlungerAnchor(plunger: this);
await add(anchor);
final jointDef = PlungerAnchorPrismaticJointDef(
plunger: this,
anchor: anchor,
);
world.createJoint(jointDef);
}
@override
Future<void> onLoad() async {
await super.onLoad();
await _anchorToJoint();
}
}
/// {@template plunger_anchor}

@ -101,7 +101,6 @@ class PinballGame extends Forge2DGame
}
Future<void> _addPlunger() async {
late PlungerAnchor plungerAnchor;
final compressionDistance = camera.viewport.effectiveSize.y / 12;
await add(
@ -115,14 +114,6 @@ class PinballGame extends Forge2DGame
compressionDistance: compressionDistance,
),
);
await add(plungerAnchor = PlungerAnchor(plunger: plunger));
world.createJoint(
PlungerAnchorPrismaticJointDef(
plunger: plunger,
anchor: plungerAnchor,
),
);
}
Future<void> _addBaseboards() async {

Loading…
Cancel
Save