diff --git a/tetris/src/debug.rs b/tetris/src/debug.rs index 5aa4e9e..c38003e 100644 --- a/tetris/src/debug.rs +++ b/tetris/src/debug.rs @@ -176,30 +176,30 @@ fn toggle_outline_state( fn draw_outline_gizmos( mut gizmos: Gizmos, - query: Query<(&GlobalTransform, &Mesh2d)>, + query: Query<(Entity, &GlobalTransform)>, + meshed: Query<&Mesh2d>, meshes: Res>, ) { - query.iter().for_each(|(gt, Mesh2d(h))| { + query.iter().for_each(|(e, gt)| { let entity_center = gt.translation().truncate(); let entity_size = gt.scale().truncate(); - info!("Entity center: {:?}", entity_center); - info!("Entity scale: {:?}", entity_size); + if let Some(Mesh2d(h)) = meshed.get(e) { - 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 mesh = meshes.get(h).unwrap(); + let aabb = mesh.compute_aabb().unwrap(); - let size = 2.0 * mesh_half_extents * entity_size; - let center = entity_center + mesh_center; + let mesh_half_extents = aabb.half_extents.truncate(); + let mesh_center = aabb.center.truncate(); - info!("size: {:?}", size); - info!("center: {:?}", center); + let size = 2.0 * mesh_half_extents * entity_size; + let center = entity_center + mesh_center; - gizmos.rect_2d(center, size, MAGENTA); + gizmos.rect_2d(center, size, MAGENTA); + } else { + let size = Vec2::new(SCALE / 2.0, SCALE / 2.0); + gizmos.cross_2d(entity_center, size, MAGENTA); + } }); }