use bevy::{
ecs::{bundle::Bundle, component::Component},
math::Vec2,
render::view::{InheritedVisibility, ViewVisibility, Visibility},
transform::components::{GlobalTransform, Transform},
};
#[derive(Default, Component)]
pub struct LightOccluder2d {
pub shape: LightOccluder2dShape,
}
pub enum LightOccluder2dShape {
Rectangle {
half_size: Vec2,
},
}
impl Default for LightOccluder2dShape {
fn default() -> Self {
Self::Rectangle {
half_size: Vec2::splat(0.0),
}
}
}
#[derive(Bundle, Default)]
pub struct LightOccluder2dBundle {
pub light_occluder: LightOccluder2d,
pub transform: Transform,
pub global_transform: GlobalTransform,
pub visibility: Visibility,
pub inherited_visibility: InheritedVisibility,
pub view_visibility: ViewVisibility,
}