diff --git a/lib/game/components/spaceship_exit_rail.dart b/lib/game/components/spaceship_exit_rail.dart index aa15f620..28ddb27e 100644 --- a/lib/game/components/spaceship_exit_rail.dart +++ b/lib/game/components/spaceship_exit_rail.dart @@ -5,18 +5,20 @@ import 'dart:ui'; import 'package:flame/extensions.dart'; import 'package:flame_forge2d/flame_forge2d.dart'; -import 'package:pinball/game/game.dart'; import 'package:pinball_components/pinball_components.dart' hide Assets; -/// A [Blueprint] for the spaceship exit rail. +/// {@template spaceship_exit_rail} +/// A [Blueprint] for the spaceship drop tube. +/// {@endtemplate} class SpaceshipExitRail extends Forge2DBlueprint { + /// {@macro spaceship_exit_rail} + SpaceshipExitRail({required this.position}); + + /// The [position] where the elements will be created + final Vector2 position; + @override void build(_) { - final position = Vector2( - PinballGame.boardBounds.left + 17, - PinballGame.boardBounds.center.dy + 26, - ); - addAllContactCallback([ SpaceshipExitRailEndBallContactCallback(), ]); diff --git a/lib/game/pinball_game.dart b/lib/game/pinball_game.dart index d6c7db5c..5bc3b11e 100644 --- a/lib/game/pinball_game.dart +++ b/lib/game/pinball_game.dart @@ -53,7 +53,13 @@ class PinballGame extends Forge2DGame ), ), ); - unawaited(addFromBlueprint(SpaceshipExitRail())); + unawaited( + addFromBlueprint( + SpaceshipExitRail( + position: Vector2(-32.5, 28), + ), + ), + ); // Fix camera on the center of the board. camera diff --git a/packages/pinball_components/lib/src/components/spaceship.dart b/packages/pinball_components/lib/src/components/spaceship.dart index 3482d221..89406049 100644 --- a/packages/pinball_components/lib/src/components/spaceship.dart +++ b/packages/pinball_components/lib/src/components/spaceship.dart @@ -92,7 +92,7 @@ class SpaceshipSaucer extends BodyComponent with InitialPosition, Layered { /// {@endtemplate} class AndroidHead extends BodyComponent with InitialPosition, Layered { /// {@macro spaceship_bridge} - AndroidHead() : super(priority: 3) { + AndroidHead() : super(priority: 4) { layer = Layer.spaceship; }