allow gamepad to open/nav pause menu
This commit is contained in:
@@ -61,8 +61,14 @@ fn open_pause_menu(
|
||||
mut next_state: ResMut<NextState<PauseMenuState>>,
|
||||
mut char_controls: ResMut<CharacterInputEnabled>,
|
||||
keyboard: Res<ButtonInput<KeyCode>>,
|
||||
gamepads: Query<&Gamepad>,
|
||||
) {
|
||||
if keyboard.just_pressed(KeyCode::Escape) {
|
||||
let should_toggle = keyboard.just_pressed(KeyCode::Escape)
|
||||
|| gamepads
|
||||
.iter()
|
||||
.any(|gamepad| gamepad.just_pressed(GamepadButton::Start));
|
||||
|
||||
if should_toggle {
|
||||
let menu_open = match state.get() {
|
||||
PauseMenuState::Closed => {
|
||||
next_state.set(PauseMenuState::Open);
|
||||
@@ -191,8 +197,19 @@ fn spawn_progress(bar: ProgressBar, value: u8, font: Handle<Font>) -> impl Bundl
|
||||
)
|
||||
}
|
||||
|
||||
fn selection_input(mut state: ResMut<PauseMenuSelection>, keyboard: Res<ButtonInput<KeyCode>>) {
|
||||
if keyboard.just_pressed(KeyCode::ArrowUp) || keyboard.just_pressed(KeyCode::ArrowDown) {
|
||||
fn selection_input(
|
||||
mut state: ResMut<PauseMenuSelection>,
|
||||
keyboard: Res<ButtonInput<KeyCode>>,
|
||||
gamepads: Query<&Gamepad>,
|
||||
) {
|
||||
let should_toggle = keyboard.just_pressed(KeyCode::ArrowUp)
|
||||
|| keyboard.just_pressed(KeyCode::ArrowDown)
|
||||
|| gamepads.iter().any(|gamepad| {
|
||||
gamepad.just_pressed(GamepadButton::DPadUp)
|
||||
|| gamepad.just_pressed(GamepadButton::DPadDown)
|
||||
});
|
||||
|
||||
if should_toggle {
|
||||
state.0 = match state.0 {
|
||||
ProgressBar::Music => ProgressBar::Sound,
|
||||
ProgressBar::Sound => ProgressBar::Music,
|
||||
|
||||
Reference in New Issue
Block a user