generated from 2ndbeam/bevy-template
assets: Using new lockpick and stairs sprites
- Fixed stairs transparency
This commit is contained in:
parent
6319b8c7ca
commit
c5c6378303
3 changed files with 13 additions and 5 deletions
Binary file not shown.
|
Before Width: | Height: | Size: 634 B After Width: | Height: | Size: 744 B |
|
|
@ -3,7 +3,7 @@ use bevy::prelude::*;
|
||||||
use super::*;
|
use super::*;
|
||||||
|
|
||||||
// TODO: replace with proper sprite
|
// 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)]
|
#[derive(Component, Debug, PartialEq, Eq, Default, Clone, Copy, Reflect)]
|
||||||
#[reflect(Component, Debug, PartialEq, Default, Clone)]
|
#[reflect(Component, Debug, PartialEq, Default, Clone)]
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,8 @@ use crate::{meters, player::Player};
|
||||||
|
|
||||||
use super::*;
|
use super::*;
|
||||||
|
|
||||||
|
const STAIRS_SPRITE_PATH: &'static str = "sprites/interactive/stairs.png";
|
||||||
|
|
||||||
#[derive(Component, Debug, PartialEq, Eq, Default, Clone, Copy, Reflect)]
|
#[derive(Component, Debug, PartialEq, Eq, Default, Clone, Copy, Reflect)]
|
||||||
#[reflect(Component, Debug, PartialEq, Default, Clone)]
|
#[reflect(Component, Debug, PartialEq, Default, Clone)]
|
||||||
#[require(InteractiveObject, Collider, Sensor)]
|
#[require(InteractiveObject, Collider, Sensor)]
|
||||||
|
|
@ -62,11 +64,12 @@ pub fn on_stairs_interact(
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn stairs_bundle(
|
pub fn stairs_bundle(
|
||||||
_asset_server: &Res<AssetServer>,
|
asset_server: &Res<AssetServer>,
|
||||||
position: Vec2,
|
position: Vec2,
|
||||||
up_position: Option<Vec2>,
|
up_position: Option<Vec2>,
|
||||||
down_position: Option<Vec2>,
|
down_position: Option<Vec2>,
|
||||||
) -> impl Bundle {
|
) -> impl Bundle {
|
||||||
|
let image = asset_server.load(STAIRS_SPRITE_PATH);
|
||||||
let (has_up, has_down) = (up_position.is_some(), down_position.is_some());
|
let (has_up, has_down) = (up_position.is_some(), down_position.is_some());
|
||||||
(
|
(
|
||||||
Stairs {
|
Stairs {
|
||||||
|
|
@ -74,7 +77,8 @@ pub fn stairs_bundle(
|
||||||
down: down_position,
|
down: down_position,
|
||||||
},
|
},
|
||||||
Transform::from_xyz(position.x, position.y, -1.),
|
Transform::from_xyz(position.x, position.y, -1.),
|
||||||
Children::spawn(
|
InheritedVisibility::VISIBLE,
|
||||||
|
Children::spawn((
|
||||||
SpawnWith(move |parent: &mut RelatedSpawner<ChildOf>| {
|
SpawnWith(move |parent: &mut RelatedSpawner<ChildOf>| {
|
||||||
if has_up {
|
if has_up {
|
||||||
parent.spawn((
|
parent.spawn((
|
||||||
|
|
@ -82,6 +86,10 @@ pub fn stairs_bundle(
|
||||||
Collider::cuboid(meters(1.), meters(1.)),
|
Collider::cuboid(meters(1.), meters(1.)),
|
||||||
Transform::from_xyz(meters(-1.), 0., 0.),
|
Transform::from_xyz(meters(-1.), 0., 0.),
|
||||||
));
|
));
|
||||||
|
parent.spawn((
|
||||||
|
Sprite::from_image(image),
|
||||||
|
Transform::from_xyz(0., meters(1.5), 0.),
|
||||||
|
));
|
||||||
}
|
}
|
||||||
|
|
||||||
if has_down {
|
if has_down {
|
||||||
|
|
@ -91,8 +99,8 @@ pub fn stairs_bundle(
|
||||||
Transform::from_xyz(meters(1.), 0., 0.),
|
Transform::from_xyz(meters(1.), 0., 0.),
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
})
|
}),
|
||||||
),
|
)),
|
||||||
Name::new(format!("Stairs ({},{})", position.x, position.y))
|
Name::new(format!("Stairs ({},{})", position.x, position.y))
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue