Add cross for entities in the world with no mesh

main
Elijah Voigt 2 months ago
parent f61b5761a8
commit b01a7f73e5

@ -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<Assets<Mesh>>,
) {
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 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);
} else {
let size = Vec2::new(SCALE / 2.0, SCALE / 2.0);
gizmos.cross_2d(entity_center, size, MAGENTA);
}
});
}

Loading…
Cancel
Save