use core::f32;
use bevy_camera::NormalizedRenderTarget;
use bevy_ecs::prelude::*;
use crate::{
backend::{HitData, PointerHits},
pointer::{Location, PointerId, PointerLocation},
};
pub fn update_window_hits(
pointers: Query<(&PointerId, &PointerLocation)>,
mut pointer_hits_writer: MessageWriter<PointerHits>,
) {
for (pointer_id, pointer_location) in pointers.iter() {
if let Some(Location {
target: NormalizedRenderTarget::Window(window_ref),
position,
..
}) = pointer_location.location
{
let entity = window_ref.entity();
let hit_data = HitData::new(entity, 0.0, Some(position.extend(0.0)), None);
pointer_hits_writer.write(PointerHits::new(
*pointer_id,
vec![(entity, hit_data)],
f32::NEG_INFINITY,
));
}
}
}