diff --git a/assets/sprites/interactive/stairs.png b/assets/sprites/interactive/stairs.png index d2b0c70..9c8e23a 100644 Binary files a/assets/sprites/interactive/stairs.png and b/assets/sprites/interactive/stairs.png differ diff --git a/src/item/lockpick.rs b/src/item/lockpick.rs index 3eb0087..22cab2c 100644 --- a/src/item/lockpick.rs +++ b/src/item/lockpick.rs @@ -3,7 +3,7 @@ use bevy::prelude::*; use super::*; // TODO: replace with proper sprite -const LOCKPICK_SPRITE: &'static str = "sprites/items/choco_bar.png"; +const LOCKPICK_SPRITE: &'static str = "sprites/items/lockpick.png"; #[derive(Component, Debug, PartialEq, Eq, Default, Clone, Copy, Reflect)] #[reflect(Component, Debug, PartialEq, Default, Clone)] diff --git a/src/layout/stairs.rs b/src/layout/stairs.rs index 104c7fd..a2c47c5 100644 --- a/src/layout/stairs.rs +++ b/src/layout/stairs.rs @@ -5,6 +5,8 @@ use crate::{meters, player::Player}; use super::*; +const STAIRS_SPRITE_PATH: &'static str = "sprites/interactive/stairs.png"; + #[derive(Component, Debug, PartialEq, Eq, Default, Clone, Copy, Reflect)] #[reflect(Component, Debug, PartialEq, Default, Clone)] #[require(InteractiveObject, Collider, Sensor)] @@ -62,11 +64,12 @@ pub fn on_stairs_interact( } pub fn stairs_bundle( - _asset_server: &Res, + asset_server: &Res, position: Vec2, up_position: Option, down_position: Option, ) -> impl Bundle { + let image = asset_server.load(STAIRS_SPRITE_PATH); let (has_up, has_down) = (up_position.is_some(), down_position.is_some()); ( Stairs { @@ -74,7 +77,8 @@ pub fn stairs_bundle( down: down_position, }, Transform::from_xyz(position.x, position.y, -1.), - Children::spawn( + InheritedVisibility::VISIBLE, + Children::spawn(( SpawnWith(move |parent: &mut RelatedSpawner| { if has_up { parent.spawn(( @@ -82,6 +86,10 @@ pub fn stairs_bundle( Collider::cuboid(meters(1.), meters(1.)), Transform::from_xyz(meters(-1.), 0., 0.), )); + parent.spawn(( + Sprite::from_image(image), + Transform::from_xyz(0., meters(1.5), 0.), + )); } if has_down { @@ -91,8 +99,8 @@ pub fn stairs_bundle( Transform::from_xyz(meters(1.), 0., 0.), )); } - }) - ), + }), + )), Name::new(format!("Stairs ({},{})", position.x, position.y)) ) }