feat: Implemented layout assets resource

- Layout sprites are now looking as before
This commit is contained in:
Alexey 2026-04-01 11:50:56 +03:00
commit c1f9c29fe7
9 changed files with 131 additions and 72 deletions

View file

@ -1,17 +1,14 @@
use bevy::prelude::*;
use bevy_light_2d::prelude::*;
use crate::meters;
const LAMP_IMAGE_PATH: &'static str = "sprites/level/lamp.png";
use crate::{layout::LayoutTextures, meters};
#[derive(Component, Clone, Copy, Default, Reflect, Debug, PartialEq, Eq)]
#[reflect(Component, Clone, Default, Debug, PartialEq)]
#[require(Transform)]
pub struct Lamp;
pub fn lamp_bundle(asset_server: &Res<AssetServer>, pos: Vec2, intensity: f32, radius: f32) -> impl Bundle {
let image = asset_server.load(LAMP_IMAGE_PATH);
pub fn lamp_bundle(textures: &Res<LayoutTextures>, pos: Vec2, intensity: f32, radius: f32) -> impl Bundle {
(
SpotLight2d {
intensity,
@ -21,6 +18,11 @@ pub fn lamp_bundle(asset_server: &Res<AssetServer>, pos: Vec2, intensity: f32, r
..default()
},
Transform::from_xyz(pos.x, pos.y, 0.),
Sprite::from_image(image),
Sprite::from_image(textures.light.0.clone()),
children![
(
)
],
)
}