refactor: applied priority changes to drop tube

pull/110/head
RuiAlonso 4 years ago
parent 4801511cdd
commit 0e49cde657

@ -14,6 +14,9 @@ class SpaceshipExitRail extends Forge2DBlueprint {
/// {@macro spaceship_exit_rail} /// {@macro spaceship_exit_rail}
SpaceshipExitRail(); SpaceshipExitRail();
/// Base priority for wall while be on jetpack ramp.
static const ballPriorityWhenOnSpaceshipExitRail = 2;
@override @override
void build(_) { void build(_) {
addAllContactCallback([ addAllContactCallback([
@ -38,7 +41,10 @@ class SpaceshipExitRail extends Forge2DBlueprint {
class _SpaceshipExitRailRamp extends BodyComponent class _SpaceshipExitRailRamp extends BodyComponent
with InitialPosition, Layered { with InitialPosition, Layered {
_SpaceshipExitRailRamp() : super(priority: 2) { _SpaceshipExitRailRamp()
: super(
priority: SpaceshipExitRail.ballPriorityWhenOnSpaceshipExitRail - 1,
) {
renderBody = false; renderBody = false;
layer = Layer.spaceshipExitRail; layer = Layer.spaceshipExitRail;
} }
@ -142,9 +148,8 @@ class _SpaceshipExitRailRamp extends BodyComponent
sprite: sprite, sprite: sprite,
size: Vector2(17.5, 55.7), size: Vector2(17.5, 55.7),
anchor: Anchor.center, anchor: Anchor.center,
) position: Vector2(-29.4, -5.7),
..position = Vector2(-29.4, -5.7) );
..priority = 2;
await add(spriteComponent); await add(spriteComponent);
} }
@ -152,7 +157,10 @@ class _SpaceshipExitRailRamp extends BodyComponent
class _SpaceshipExitRailBase extends BodyComponent class _SpaceshipExitRailBase extends BodyComponent
with InitialPosition, Layered { with InitialPosition, Layered {
_SpaceshipExitRailBase({required this.radius}) : super(priority: 5) { _SpaceshipExitRailBase({required this.radius})
: super(
priority: SpaceshipExitRail.ballPriorityWhenOnSpaceshipExitRail + 1,
) {
renderBody = false; renderBody = false;
layer = Layer.board; layer = Layer.board;
} }
@ -209,8 +217,7 @@ class SpaceshipExitRailEndBallContactCallback
@override @override
void begin(SpaceshipExitRailEnd exitRail, Ball ball, _) { void begin(SpaceshipExitRailEnd exitRail, Ball ball, _) {
ball ball
..priority = 1 ..sendTo(1) // TODO(ruimiguel): sendTo board priority
..gameRef.reorderChildren()
..layer = exitRail.outsideLayer; ..layer = exitRail.outsideLayer;
} }
} }

Loading…
Cancel
Save