|
|
|
|
@ -174,8 +174,32 @@ fn toggle_outline_state(
|
|
|
|
|
next.set(DebugOutlines(event.event().value));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
fn draw_debug_outlines(
|
|
|
|
|
gizmos: Gizmos
|
|
|
|
|
fn draw_outline_gizmos(
|
|
|
|
|
mut gizmos: Gizmos,
|
|
|
|
|
query: Query<(&GlobalTransform, &Mesh2d)>,
|
|
|
|
|
meshes: Res<Assets<Mesh>>,
|
|
|
|
|
) {
|
|
|
|
|
todo!("Draw outlines here")
|
|
|
|
|
query.iter().for_each(|(gt, Mesh2d(h))| {
|
|
|
|
|
let entity_center = gt.translation().truncate();
|
|
|
|
|
let entity_size = gt.scale().truncate();
|
|
|
|
|
|
|
|
|
|
info!("Entity center: {:?}", entity_center);
|
|
|
|
|
info!("Entity scale: {:?}", entity_size);
|
|
|
|
|
|
|
|
|
|
let mesh = meshes.get(h).unwrap();
|
|
|
|
|
let aabb = mesh.compute_aabb().unwrap();
|
|
|
|
|
let mesh_half_extents = aabb.half_extents.truncate();
|
|
|
|
|
let mesh_center = aabb.center.truncate();
|
|
|
|
|
|
|
|
|
|
info!("Mesh half extents: {:?}", mesh_half_extents);
|
|
|
|
|
info!("Mesh center: {:?}", mesh_center);
|
|
|
|
|
|
|
|
|
|
let size = 2.0 * mesh_half_extents * entity_size;
|
|
|
|
|
let center = entity_center + mesh_center;
|
|
|
|
|
|
|
|
|
|
info!("size: {:?}", size);
|
|
|
|
|
info!("center: {:?}", center);
|
|
|
|
|
|
|
|
|
|
gizmos.rect_2d(center, size, MAGENTA);
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|