From ec43a57d0bf51030a4bed668b8cca9e5d288b244 Mon Sep 17 00:00:00 2001 From: mat Date: Mon, 5 Jan 2026 03:26:20 +0400 Subject: slightly abstract binaryheap in pathfinder --- azalea/src/pathfinder/astar.rs | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) (limited to 'azalea/src') diff --git a/azalea/src/pathfinder/astar.rs b/azalea/src/pathfinder/astar.rs index 7bd08111..d5dc86bd 100644 --- a/azalea/src/pathfinder/astar.rs +++ b/azalea/src/pathfinder/astar.rs @@ -52,7 +52,7 @@ where { let start_time = Instant::now(); - let mut open_set = BinaryHeap::::new(); + let mut open_set = PathfinderHeap::new(); open_set.push(WeightedNode { g_score: 0., f_score: 0., @@ -282,6 +282,23 @@ impl Clone for Movement { } } +#[derive(Default)] +struct PathfinderHeap { + binary_heap: BinaryHeap, +} +impl PathfinderHeap { + pub fn new() -> Self { + Self::default() + } + + pub fn push(&mut self, item: WeightedNode) { + self.binary_heap.push(item); + } + pub fn pop(&mut self) -> Option { + self.binary_heap.pop() + } +} + #[derive(PartialEq)] #[repr(C)] pub struct WeightedNode { -- cgit v1.2.3