use crate::prelude::*;
use bevy::prelude::*;
#[derive(Debug, Default)]
pub struct Naive {
entities: Vec<(Entity, Vec3)>,
}
impl SpatialLookupAlgorithm for Naive {
fn prepare(&mut self, entities: &[(Entity, Vec3)]) {
self.entities = entities.to_owned();
}
fn entities_in_radius(&self, sample_point: Vec3, radius: f32) -> Vec<Entity> {
let mut found_entities = Vec::new();
for (entity, position) in &self.entities {
if position.distance(sample_point) <= radius {
found_entities.push(*entity);
}
}
found_entities
}
}