From 65067412afd12d250fe77618545bb54ad5d8e79d Mon Sep 17 00:00:00 2001 From: Nolan Darilek Date: Mon, 11 Jul 2022 17:03:40 -0500 Subject: [PATCH] Remove direction when transform is removed. --- src/navigation.rs | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/navigation.rs b/src/navigation.rs index 33d3eef..e7cab5e 100644 --- a/src/navigation.rs +++ b/src/navigation.rs @@ -6,6 +6,7 @@ use bevy_rapier2d::prelude::*; use bevy_tts::Tts; use crate::{ + commands::RunIfExistsExt, core::{Angle, CardinalDirection, Player}, error::error_handler, exploration::{ExplorationFocused, Exploring}, @@ -281,6 +282,14 @@ fn update_direction( } } +fn remove_direction(mut commands: Commands, removed: RemovedComponents) { + for entity in removed.iter() { + commands.run_if_exists(entity, |mut entity| { + entity.remove::(); + }); + } +} + fn speak_direction( mut tts: ResMut, player: Query< @@ -385,6 +394,7 @@ where .register_type::() .register_type::() .add_system(update_direction.before(SNAP)) + .add_system_to_stage(CoreStage::PostUpdate, remove_direction) .add_system(speak_direction.chain(error_handler)) .add_system(add_speed) .add_system_to_stage(CoreStage::PostUpdate, remove_speed);