swapped over to bracket-lib geometry's Rects, improved feature spawning
This commit is contained in:
parent
5a8114ec7e
commit
fcb2bd2815
15 changed files with 217 additions and 107 deletions
|
|
@ -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();
|
||||
})
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue