detect choice selection keys
This commit is contained in:
parent
2b0de07427
commit
826638416f
27
src/chat.rs
27
src/chat.rs
|
@ -42,6 +42,7 @@ impl Plugin for ChatPlugin {
|
|||
app.add_systems(Update, (
|
||||
handle_new_conversations.before(handle_chat_events),
|
||||
handle_chat_events,
|
||||
handle_reply_keys,
|
||||
handle_chat_timer.before(handle_chat_events),
|
||||
));
|
||||
app.add_event::<StartConversationEvent>();
|
||||
|
@ -275,3 +276,29 @@ pub fn handle_chat_events(
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
fn handle_reply_keys(
|
||||
keyboard_input: Res<ButtonInput<KeyCode>>,
|
||||
settings: ResMut<settings::Settings>,
|
||||
q_choices: Query<&Choice>,
|
||||
//mut evwriter_sendmsg: EventWriter<SendMessageEvent>,
|
||||
mut evwriter_sfx: EventWriter<audio::PlaySfxEvent>,
|
||||
) {
|
||||
let mut selected_choice: usize = 0;
|
||||
'outer: for key in settings.get_reply_keys() {
|
||||
if keyboard_input.just_pressed(key) {
|
||||
for choice in &q_choices {
|
||||
if choice.key == selected_choice {
|
||||
evwriter_sfx.send(audio::PlaySfxEvent(audio::Sfx::Click));
|
||||
// evwriter_sendmsg.send(SendMessageEvent {
|
||||
// conv_id: choice.conv_id.clone(),
|
||||
// conv_label: choice.conv_label.clone(),
|
||||
// text: choice.text.clone(),
|
||||
// });
|
||||
break 'outer;
|
||||
}
|
||||
}
|
||||
}
|
||||
selected_choice += 1;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue