diff --git a/tetris/src/debug.rs b/tetris/src/debug.rs index 25668f8..5aa4e9e 100644 --- a/tetris/src/debug.rs +++ b/tetris/src/debug.rs @@ -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>, ) { - 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); + }); }