From f16d16099411c39493b4e3266358fce70bebe529 Mon Sep 17 00:00:00 2001 From: Nolan Darilek Date: Thu, 17 Mar 2022 12:39:35 -0500 Subject: [PATCH] Avoid possible crash. --- src/visibility.rs | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/visibility.rs b/src/visibility.rs index 3275229..de97870 100644 --- a/src/visibility.rs +++ b/src/visibility.rs @@ -15,6 +15,7 @@ use shadowcast::{vision_distance, Context, InputGrid}; use crate::{ bevy_rapier2d::prelude::*, + commands::RunIfExistsExt, core::{Angle, Coordinates, Player, PointLike}, log::Log, map::{ITileType, Map, MapConfig}, @@ -294,9 +295,10 @@ fn update_viewshed( position.position.translation.x, position.position.translation.y, ); - commands - .entity(entity) - .insert(LastCoordinates(coordinates.i32())); + let coordinates_i32 = coordinates.i32(); + commands.run_if_exists(entity, move |mut entity| { + entity.insert(LastCoordinates(coordinates_i32)); + }); if viewers.get_mut(entity).is_ok() { if let Some(last_coordinates) = last_coordinates { if **last_coordinates != coordinates.i32() {