From d1a8d067a1a993e717c9378f068d9d2b13a7f455 Mon Sep 17 00:00:00 2001 From: alestiago Date: Thu, 7 Apr 2022 11:28:49 +0100 Subject: [PATCH] refactor: defined LaunchRampSprite --- .../lib/src/components/launch_ramp.dart | 47 ++++++++++--------- 1 file changed, 25 insertions(+), 22 deletions(-) diff --git a/packages/pinball_components/lib/src/components/launch_ramp.dart b/packages/pinball_components/lib/src/components/launch_ramp.dart index 3268cc46..fdae5c8b 100644 --- a/packages/pinball_components/lib/src/components/launch_ramp.dart +++ b/packages/pinball_components/lib/src/components/launch_ramp.dart @@ -115,23 +115,24 @@ class _LaunchRampBase extends BodyComponent with InitialPosition, Layered { @override Future onLoad() async { await super.onLoad(); - await _loadSprite(); renderBody = false; + + await add(_LaunchRampBaseSprite()); } +} + +class _LaunchRampBaseSprite extends SpriteComponent with HasGameRef { + @override + Future onLoad() async { + await super.onLoad(); - Future _loadSprite() async { final sprite = await gameRef.loadSprite( Assets.images.launchRamp.ramp.keyName, ); - - await add( - SpriteComponent( - sprite: sprite, - size: sprite.originalSize / 10, - anchor: Anchor.center, - position: Vector2(25.65, 0), - ), - ); + this.sprite = sprite; + size = sprite.originalSize / 10; + anchor = Anchor.center; + position = Vector2(25.65, 0); } } @@ -192,23 +193,25 @@ class _LaunchRampForegroundRailing extends BodyComponent @override Future onLoad() async { await super.onLoad(); - await _loadSprite(); renderBody = false; + + await add(_LaunchRampForegroundRailingSprite()); } +} + +class _LaunchRampForegroundRailingSprite extends SpriteComponent + with HasGameRef { + @override + Future onLoad() async { + await super.onLoad(); - Future _loadSprite() async { final sprite = await gameRef.loadSprite( Assets.images.launchRamp.foregroundRailing.keyName, ); - - await add( - SpriteComponent( - sprite: sprite, - size: sprite.originalSize / 10, - anchor: Anchor.center, - position: Vector2(22.8, 0), - ), - ); + this.sprite = sprite; + size = sprite.originalSize / 10; + anchor = Anchor.center; + position = Vector2(22.8, 0); } }