generated from GarandPLG/rust-flake-template
Add text input handling to settings popup
Introduce a `selected_setting_new_value` field in `SettingsState` and initialize it. Add `Backspace` and `WildCard(char)` actions with an `Input` group, and corresponding keybindings. Update `event_to_action` to map wildcard characters to `Action::WildCard`. Handle backspace and character input in `settings_keybindings` to edit the new field. Display the edited value in the settings popup and include the new actions in the UI.
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
|
||||
#[derive(Debug, Clone, PartialEq, Eq, Hash)]
|
||||
pub struct GameStates {
|
||||
pub main_menu_state: MainMenuState,
|
||||
pub skirmish_state: SkirmishState,
|
||||
@@ -34,12 +34,13 @@ pub struct SkillsConfigState {
|
||||
pub selected_skill: usize,
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
|
||||
#[derive(Debug, Clone, PartialEq, Eq, Hash)]
|
||||
pub struct SettingsState {
|
||||
pub id: usize,
|
||||
pub name: &'static str,
|
||||
pub selected_setting: usize,
|
||||
pub show_popup: bool,
|
||||
pub selected_setting_new_value: String,
|
||||
}
|
||||
|
||||
impl GameStates {
|
||||
@@ -69,6 +70,7 @@ impl GameStates {
|
||||
name: "Settings",
|
||||
selected_setting: 0,
|
||||
show_popup: false,
|
||||
selected_setting_new_value: String::new(),
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user