|
|
|
@ -176,30 +176,30 @@ fn toggle_outline_state(
|
|
|
|
|
|
|
|
|
|
|
|
fn draw_outline_gizmos(
|
|
|
|
fn draw_outline_gizmos(
|
|
|
|
mut gizmos: Gizmos,
|
|
|
|
mut gizmos: Gizmos,
|
|
|
|
query: Query<(&GlobalTransform, &Mesh2d)>,
|
|
|
|
query: Query<(Entity, &GlobalTransform)>,
|
|
|
|
|
|
|
|
meshed: Query<&Mesh2d>,
|
|
|
|
meshes: Res<Assets<Mesh>>,
|
|
|
|
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_center = gt.translation().truncate();
|
|
|
|
let entity_size = gt.scale().truncate();
|
|
|
|
let entity_size = gt.scale().truncate();
|
|
|
|
|
|
|
|
|
|
|
|
info!("Entity center: {:?}", entity_center);
|
|
|
|
if let Some(Mesh2d(h)) = meshed.get(e) {
|
|
|
|
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);
|
|
|
|
let mesh = meshes.get(h).unwrap();
|
|
|
|
info!("Mesh center: {:?}", mesh_center);
|
|
|
|
let aabb = mesh.compute_aabb().unwrap();
|
|
|
|
|
|
|
|
|
|
|
|
let size = 2.0 * mesh_half_extents * entity_size;
|
|
|
|
let mesh_half_extents = aabb.half_extents.truncate();
|
|
|
|
let center = entity_center + mesh_center;
|
|
|
|
let mesh_center = aabb.center.truncate();
|
|
|
|
|
|
|
|
|
|
|
|
info!("size: {:?}", size);
|
|
|
|
let size = 2.0 * mesh_half_extents * entity_size;
|
|
|
|
info!("center: {:?}", center);
|
|
|
|
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);
|
|
|
|
|
|
|
|
}
|
|
|
|
});
|
|
|
|
});
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|