diff --git a/lib/game/game_assets.dart b/lib/game/game_assets.dart index a4eedeb4..d767064d 100644 --- a/lib/game/game_assets.dart +++ b/lib/game/game_assets.dart @@ -36,6 +36,7 @@ extension PinballGameAssetsX on PinballGame { images.load(components.Assets.images.spaceship.saucer.keyName), images.load(components.Assets.images.spaceship.bridge.keyName), images.load(components.Assets.images.spaceship.ramp.main.keyName), + images.load(components.Assets.images.spaceship.ramp.boardOpening.keyName), images.load( components.Assets.images.spaceship.ramp.railingBackground.keyName, ), diff --git a/packages/pinball_components/assets/images/spaceship/ramp/board-opening.png b/packages/pinball_components/assets/images/spaceship/ramp/board-opening.png new file mode 100644 index 00000000..53144013 Binary files /dev/null and b/packages/pinball_components/assets/images/spaceship/ramp/board-opening.png differ diff --git a/packages/pinball_components/assets/images/spaceship/ramp/main.png b/packages/pinball_components/assets/images/spaceship/ramp/main.png index abf0ad4c..9c4fd0e5 100644 Binary files a/packages/pinball_components/assets/images/spaceship/ramp/main.png and b/packages/pinball_components/assets/images/spaceship/ramp/main.png differ diff --git a/packages/pinball_components/lib/gen/assets.gen.dart b/packages/pinball_components/lib/gen/assets.gen.dart index 4273ffb8..5a96fe67 100644 --- a/packages/pinball_components/lib/gen/assets.gen.dart +++ b/packages/pinball_components/lib/gen/assets.gen.dart @@ -183,6 +183,8 @@ class $AssetsImagesSpaceshipRailGen { class $AssetsImagesSpaceshipRampGen { const $AssetsImagesSpaceshipRampGen(); + AssetGenImage get boardOpening => + const AssetGenImage('assets/images/spaceship/ramp/board-opening.png'); AssetGenImage get main => const AssetGenImage('assets/images/spaceship/ramp/main.png'); AssetGenImage get railingBackground => const AssetGenImage( diff --git a/packages/pinball_components/lib/src/components/spaceship_ramp.dart b/packages/pinball_components/lib/src/components/spaceship_ramp.dart index 252c98bf..db955720 100644 --- a/packages/pinball_components/lib/src/components/spaceship_ramp.dart +++ b/packages/pinball_components/lib/src/components/spaceship_ramp.dart @@ -40,11 +40,15 @@ class SpaceshipRamp extends Forge2DBlueprint { final spaceshipRamp = _SpaceshipRampBackground(); + final spaceshipRampBoardOpeningSprite = + _SpaceshipRampBoardOpeningSpriteComponent(); + final spaceshipRampForegroundRailing = _SpaceshipRampForegroundRailing(); final baseRight = _SpaceshipRampBase()..initialPosition = Vector2(1.7, 20); addAll([ + spaceshipRampBoardOpeningSprite, rightOpening, leftOpening, baseRight, @@ -117,8 +121,8 @@ class _SpaceshipRampBackground extends BodyComponent await super.onLoad(); renderBody = false; - await add(_SpaceshipRampBackgroundRailingSpriteComponent()); await add(_SpaceshipRampBackgroundRampSpriteComponent()); + await add(_SpaceshipRampBackgroundRailingSpriteComponent()); } } @@ -131,7 +135,7 @@ class _SpaceshipRampBackgroundRailingSpriteComponent extends SpriteComponent Assets.images.spaceship.ramp.railingBackground.keyName, ); this.sprite = sprite; - size = Vector2(38.3, 35.1); + size = sprite.originalSize / 10; anchor = Anchor.center; position = Vector2(-11.7, -54.3); } @@ -148,7 +152,22 @@ class _SpaceshipRampBackgroundRampSpriteComponent extends SpriteComponent this.sprite = sprite; size = sprite.originalSize / 10; anchor = Anchor.center; - position = Vector2(-10.6, -53.6); + position = Vector2(-11.7, -53.6); + } +} + +class _SpaceshipRampBoardOpeningSpriteComponent extends SpriteComponent + with HasGameRef { + @override + Future onLoad() async { + await super.onLoad(); + final sprite = await gameRef.loadSprite( + Assets.images.spaceship.ramp.boardOpening.keyName, + ); + this.sprite = sprite; + size = sprite.originalSize / 10; + anchor = Anchor.center; + position = Vector2(3.4, -39.5); } }