diff options
Diffstat (limited to 'server/src/spatial_index.rs')
-rw-r--r-- | server/src/spatial_index.rs | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/server/src/spatial_index.rs b/server/src/spatial_index.rs index a62c80e0..d4bd1776 100644 --- a/server/src/spatial_index.rs +++ b/server/src/spatial_index.rs @@ -35,8 +35,12 @@ impl<T: Eq + Hash + Copy> SpatialIndex<T> { cb(e, pos) } } - pub fn query(&self, _position: Vec2, _radius: f32, cb: impl FnMut(T, Vec2)) { - self.all(cb) + pub fn query(&self, position: Vec2, radius: f32, mut cb: impl FnMut(T, Vec2)) { + self.all(|pl, p| { + if p.distance(position) < radius { + cb(pl, p) + } + }) } } impl<T> Default for SpatialIndex<T> { |