use crate::{ecs::{Drill, ToggleDrillEvent}, prelude::*}; pub fn drill_plugin(app: &mut App) { app.add_systems(Update, toggle_drill); } fn toggle_drill( mut toggle_drill_reader: MessageReader>, mut drills: Query<&mut Drill>, ) { for toggle_drill_event in toggle_drill_reader.read() { // this getting of the drill also serves to check whether or not // the entity is a drill let Ok(mut drill) = drills.get_mut(toggle_drill_event.drill_entity) else { return }; drill.drilling = !drill.drilling; } }