inventory refactor, maybe slightly unwieldy

This commit is contained in:
Llywelwyn 2023-07-23 01:42:26 +01:00
parent e2afd47830
commit b4420ba538
5 changed files with 51 additions and 22 deletions

View file

@ -23,9 +23,6 @@ impl<'a> System<'a> for VisibilitySystem {
for (ent, viewshed, pos) in (&entities, &mut viewshed, &pos).join() {
if viewshed.dirty {
viewshed.dirty = false;
// FIXME: SymmetricShadowcasting seems to be responsible for an infrequent crash --
// but it could be unrelated to the FieldOfViewAlg being used. Needs some more testing!
// Appeared first after switching, but can't seem to reproduce it.
let origin = Point::new(pos.x, pos.y);
viewshed.visible_tiles = SymmetricShadowcasting.field_of_view(origin, viewshed.range, &*map);
viewshed.visible_tiles.retain(|p| {