swapped over to bracket-lib geometry's Rects, improved feature spawning

This commit is contained in:
Llywelwyn 2023-08-31 20:07:15 +01:00
parent 5a8114ec7e
commit fcb2bd2815
15 changed files with 217 additions and 107 deletions

View file

@ -50,15 +50,24 @@ impl RoomSorter {
.unwrap()
.sort_by(|a, b| b.y2.cmp(&a.y2)),
RoomSort::CENTRAL => {
let map_centre = rltk::Point::new(build_data.map.width / 2, build_data.map.height / 2);
let map_centre = rltk::Point::new(
build_data.map.width / 2,
build_data.map.height / 2
);
build_data.rooms
.as_mut()
.unwrap()
.sort_by(|a: &Rect, b: &Rect| {
let a_centre_pt = rltk::Point::new(a.centre().0, a.centre().1);
let b_centre_pt = rltk::Point::new(b.centre().0, b.centre().1);
let distance_a = rltk::DistanceAlg::Pythagoras.distance2d(a_centre_pt, map_centre);
let distance_b = rltk::DistanceAlg::Pythagoras.distance2d(b_centre_pt, map_centre);
let a_centre_pt = rltk::Point::new(a.center().x, a.center().y);
let b_centre_pt = rltk::Point::new(b.center().x, b.center().y);
let distance_a = rltk::DistanceAlg::Pythagoras.distance2d(
a_centre_pt,
map_centre
);
let distance_b = rltk::DistanceAlg::Pythagoras.distance2d(
b_centre_pt,
map_centre
);
return distance_a.partial_cmp(&distance_b).unwrap();
})
}