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 next_state: ResMut<NextState<PauseMenuState>>,
|
||||||
mut char_controls: ResMut<CharacterInputEnabled>,
|
mut char_controls: ResMut<CharacterInputEnabled>,
|
||||||
keyboard: Res<ButtonInput<KeyCode>>,
|
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() {
|
let menu_open = match state.get() {
|
||||||
PauseMenuState::Closed => {
|
PauseMenuState::Closed => {
|
||||||
next_state.set(PauseMenuState::Open);
|
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>>) {
|
fn selection_input(
|
||||||
if keyboard.just_pressed(KeyCode::ArrowUp) || keyboard.just_pressed(KeyCode::ArrowDown) {
|
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 {
|
state.0 = match state.0 {
|
||||||
ProgressBar::Music => ProgressBar::Sound,
|
ProgressBar::Music => ProgressBar::Sound,
|
||||||
ProgressBar::Sound => ProgressBar::Music,
|
ProgressBar::Sound => ProgressBar::Music,
|
||||||
|
|||||||
Reference in New Issue
Block a user