use bevy::prelude::*;
use crate::*;
#[derive(Component, Debug)]
pub struct AutoGlass {
pub glass: Glass,
pub width: f32,
pub height: f32,
pub thickness: f32,
pub translation: Vec3,
pub rotation: Quat,
}
pub(super) fn autoglass_hook(
trigger: Trigger<OnAdd, AutoGlass>,
mut commands: Commands,
collider: Res<GlassCollider>,
mesh: Res<GlassMesh>,
autoglasses: Populated<&AutoGlass>,
) {
let entity = trigger.target();
let mut entitycmd = commands.entity(entity);
let ag = autoglasses.get(entity).unwrap();
let glass = &ag.glass;
entitycmd.insert((
Transform {
translation: ag.translation,
rotation: ag.rotation,
scale: Vec3::new(ag.width, ag.height, ag.thickness),
},
Mesh3d(mesh.0.clone()),
collider.0.clone(), glass.clone(),
));
entitycmd.remove::<AutoGlass>();
}