honeycomb_render/render/
picking.rs1use bevy::prelude::*;
2use bevy_mod_outline::OutlineVolume;
3use bevy_mod_picking::prelude::PickSelection;
4
5use crate::gui::UiState;
6
7pub fn update_picking(
9 mut targets: Query<(Entity, &PickSelection, &mut OutlineVolume)>,
10 mut ui_state: ResMut<UiState>,
11) {
12 let selection = &mut ui_state.selected_entities;
13
14 for (entity, pick_interaction, mut outline) in &mut targets {
15 if pick_interaction.is_selected {
16 outline.visible = true;
17 let _ = selection.insert(entity);
18 } else {
19 outline.visible = false;
20 let _ = selection.remove(&entity);
21 }
22 }
23}