generated from 2ndbeam/bevy-template
26 lines
769 B
Rust
26 lines
769 B
Rust
use bevy::prelude::*;
|
|
use bevy_light_2d::prelude::*;
|
|
|
|
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(textures: &Res<LayoutTextures>, pos: Vec2, intensity: f32, radius: f32) -> impl Bundle {
|
|
(
|
|
Transform::from_xyz(pos.x, pos.y, 0.),
|
|
Sprite::from_image(textures.light.0.clone()),
|
|
children![(
|
|
SpotLight2d {
|
|
intensity,
|
|
radius,
|
|
source_width: meters(0.5),
|
|
cast_shadows: true,
|
|
..default()
|
|
},
|
|
Transform::from_xyz(0., 1., 0.),
|
|
)],
|
|
)
|
|
}
|