use crate::input::{mouse_clicked, mouse_position};
use crate::scene::is_reserved;
use nightshade::prelude::*;
pub fn entity_under_cursor(world: &World) -> Option<Entity> {
pick_entities(world, mouse_position(world), PickingOptions::default())
.into_iter()
.map(|result| result.entity)
.find(|&entity| !is_reserved(world, entity))
}
pub fn clicked_entity(world: &World) -> Option<Entity> {
if !mouse_clicked(world, MouseButton::Left) {
return None;
}
entity_under_cursor(world)
}
pub fn cursor_on_ground(world: &World) -> Option<Vec3> {
get_ground_position_from_screen(world, mouse_position(world), 0.0)
}