refactor: removed position and changed sprite load method

pull/126/head
RuiAlonso 4 years ago
parent 1029b6ea88
commit 2db80115d6

@ -11,10 +11,7 @@ import 'package:pinball_components/pinball_components.dart' hide Assets;
/// A [Blueprint] which creates the [JetpackRamp]. /// A [Blueprint] which creates the [JetpackRamp].
class Jetpack extends Forge2DBlueprint { class Jetpack extends Forge2DBlueprint {
/// {@macro spaceship} /// {@macro spaceship}
Jetpack({required this.position}); Jetpack();
/// The [position] where the elements will be created
final Vector2 position;
static const int ballPriorityInsideRamp = 4; static const int ballPriorityInsideRamp = 4;
@ -29,22 +26,21 @@ class Jetpack extends Forge2DBlueprint {
outsidePriority: 1, outsidePriority: 1,
rotation: math.pi, rotation: math.pi,
) )
..initialPosition = position + Vector2(1.7, 19) ..initialPosition = Vector2(1.7, 19)
..layer = Layer.opening; ..layer = Layer.opening;
final leftOpening = _JetpackRampOpening( final leftOpening = _JetpackRampOpening(
outsideLayer: Layer.spaceship, outsideLayer: Layer.spaceship,
outsidePriority: Spaceship.ballPriorityWhenOnSpaceship, outsidePriority: Spaceship.ballPriorityWhenOnSpaceship,
rotation: math.pi, rotation: math.pi,
) )
..initialPosition = position + Vector2(-13.7, 19) ..initialPosition = Vector2(-13.7, 19)
..layer = Layer.jetpack; ..layer = Layer.jetpack;
final jetpackRamp = JetpackRamp()..initialPosition = position; final jetpackRamp = JetpackRamp();
final jetpackRampWallFg = _JetpackRampWallFg()..initialPosition = position; final jetpackRampWallFg = _JetpackRampForegroundRailing();
final baseRight = _JetpackBase() final baseRight = _JetpackBase()..initialPosition = Vector2(1.7, 20);
..initialPosition = position + Vector2(1.7, 20);
addAll([ addAll([
rightOpening, rightOpening,
@ -112,10 +108,10 @@ class JetpackRamp extends BodyComponent with InitialPosition, Layered {
@override @override
Future<void> onLoad() async { Future<void> onLoad() async {
await super.onLoad(); await super.onLoad();
await _loadBackground(); await _loadSprites();
} }
Future<void> _loadBackground() async { Future<void> _loadSprites() async {
final spriteRamp = await gameRef.loadSprite( final spriteRamp = await gameRef.loadSprite(
Assets.images.components.spaceshipRamp.path, Assets.images.components.spaceshipRamp.path,
); );
@ -144,8 +140,10 @@ class JetpackRamp extends BodyComponent with InitialPosition, Layered {
} }
} }
class _JetpackRampWallFg extends BodyComponent with InitialPosition, Layered { class _JetpackRampForegroundRailing extends BodyComponent
_JetpackRampWallFg() : super(priority: Jetpack.ballPriorityInsideRamp + 1) { with InitialPosition, Layered {
_JetpackRampForegroundRailing()
: super(priority: Jetpack.ballPriorityInsideRamp + 1) {
layer = Layer.jetpack; layer = Layer.jetpack;
} }
@ -194,10 +192,10 @@ class _JetpackRampWallFg extends BodyComponent with InitialPosition, Layered {
@override @override
Future<void> onLoad() async { Future<void> onLoad() async {
await super.onLoad(); await super.onLoad();
await _loadBackground(); await _loadSprites();
} }
Future<void> _loadBackground() async { Future<void> _loadSprites() async {
final spriteRailingFg = await gameRef.loadSprite( final spriteRailingFg = await gameRef.loadSprite(
Assets.images.components.spaceshipRailingFg.path, Assets.images.components.spaceshipRailingFg.path,
); );

@ -93,11 +93,7 @@ class PinballGame extends Forge2DGame
Future<void> _addPaths() async { Future<void> _addPaths() async {
unawaited( unawaited(
addFromBlueprint( addFromBlueprint(Jetpack()),
Jetpack(
position: Vector2(0, 0),
),
),
); );
unawaited(addFromBlueprint(Launcher())); unawaited(addFromBlueprint(Launcher()));
} }

Loading…
Cancel
Save