From 4b3faad9bbe4c79186fe23c235a3fb1e367cc455 Mon Sep 17 00:00:00 2001 From: alestiago Date: Thu, 5 May 2022 20:28:42 +0100 Subject: [PATCH] refactor: remove double sprites --- .../lib/src/components/plunger.dart | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/packages/pinball_components/lib/src/components/plunger.dart b/packages/pinball_components/lib/src/components/plunger.dart index 8d4b2e62..5b9b77b2 100644 --- a/packages/pinball_components/lib/src/components/plunger.dart +++ b/packages/pinball_components/lib/src/components/plunger.dart @@ -31,8 +31,6 @@ class Plunger extends BodyComponent with InitialPosition, Layered, ZIndex { /// Distance the plunger can lower. final double compressionDistance; - late final _PlungerSpriteAnimationGroupComponent _spriteComponent; - List _createFixtureDefs() { final fixturesDef = []; @@ -88,8 +86,10 @@ class Plunger extends BodyComponent with InitialPosition, Layered, ZIndex { /// Set a constant downward velocity on the [Plunger]. void pull() { + final sprite = firstChild<_PlungerSpriteAnimationGroupComponent>()!; + body.linearVelocity = Vector2(0, 7); - _spriteComponent.pull(); + sprite.pull(); } /// Set an upward velocity on the [Plunger]. @@ -97,10 +97,12 @@ class Plunger extends BodyComponent with InitialPosition, Layered, ZIndex { /// The velocity's magnitude depends on how far the [Plunger] has been pulled /// from its original [initialPosition]. void release() { + final sprite = firstChild<_PlungerSpriteAnimationGroupComponent>()!; + _pullingDownTime = 0; final velocity = (initialPosition.y - body.position.y) * 11; body.linearVelocity = Vector2(0, velocity); - _spriteComponent.release(); + sprite.release(); } @override @@ -137,9 +139,6 @@ class Plunger extends BodyComponent with InitialPosition, Layered, ZIndex { Future onLoad() async { await super.onLoad(); await _anchorToJoint(); - - _spriteComponent = _PlungerSpriteAnimationGroupComponent(); - await add(_spriteComponent); } }