bevy_yoleck/
picking_helpers.rs1use bevy::prelude::*;
2use uuid::Uuid;
3
4use crate::exclusive_systems::YoleckExclusiveSystemDirective;
5use crate::prelude::*;
6
7pub fn yoleck_map_entity_to_uuid(
13 In(entity): In<Option<Entity>>,
14 uuid_query: Query<&YoleckEntityUuid>,
15) -> Option<Uuid> {
16 Some(uuid_query.get(entity?).ok()?.get())
17}
18
19pub fn yoleck_exclusive_system_cancellable(
23 In(directive): In<YoleckExclusiveSystemDirective>,
24 mut ui: ResMut<YoleckUi>,
25 keyboard: Res<ButtonInput<KeyCode>>,
26) -> YoleckExclusiveSystemDirective {
27 if matches!(directive, YoleckExclusiveSystemDirective::Finished) {
28 return directive;
29 }
30
31 if keyboard.just_released(KeyCode::Escape) || ui.button("Abort Entity Selection").clicked() {
32 return YoleckExclusiveSystemDirective::Finished;
33 }
34
35 directive
36}