Fixed multiple or no controllers crashing
parent
f42f13a00d
commit
bddf41274a
24
src/hud.rs
24
src/hud.rs
|
@ -133,18 +133,20 @@ fn start_button_logic(
|
||||||
let mut score_text = score_text_query.single_mut();
|
let mut score_text = score_text_query.single_mut();
|
||||||
let (mut player_transform, mut player_visibility) = player_query.single_mut();
|
let (mut player_transform, mut player_visibility) = player_query.single_mut();
|
||||||
|
|
||||||
let gamepad = gamepads.single();
|
let gamepad = gamepads.get_single();
|
||||||
|
|
||||||
if gamepad.just_pressed(GamepadButton::Start) {
|
if let Ok(gamepad) = gamepad {
|
||||||
start_game(
|
if gamepad.just_pressed(GamepadButton::Start) {
|
||||||
&mut score_text,
|
start_game(
|
||||||
&mut score,
|
&mut score_text,
|
||||||
&mut state,
|
&mut score,
|
||||||
&mut ui_elems_query,
|
&mut state,
|
||||||
&mut player_visibility,
|
&mut ui_elems_query,
|
||||||
&mut player_transform,
|
&mut player_visibility,
|
||||||
);
|
&mut player_transform,
|
||||||
return;
|
);
|
||||||
|
return;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
let (interaction, mut border_color) = button.single_mut();
|
let (interaction, mut border_color) = button.single_mut();
|
||||||
|
|
|
@ -59,10 +59,12 @@ fn move_player(
|
||||||
window: Query<&Window>,
|
window: Query<&Window>,
|
||||||
) {
|
) {
|
||||||
let (mut transform, mut velocity) = query.single_mut();
|
let (mut transform, mut velocity) = query.single_mut();
|
||||||
let gamepad = gamepads.single();
|
let gamepad = gamepads.get_single();
|
||||||
velocity.0 = Vec2::ZERO;
|
velocity.0 = Vec2::ZERO;
|
||||||
|
|
||||||
handle_gamepad_movement(gamepad, &mut velocity);
|
if let Ok(gamepad) = gamepad {
|
||||||
|
handle_gamepad_movement(gamepad, &mut velocity);
|
||||||
|
}
|
||||||
|
|
||||||
if keys.pressed(KeyCode::ArrowRight) {
|
if keys.pressed(KeyCode::ArrowRight) {
|
||||||
velocity.x += 1.0;
|
velocity.x += 1.0;
|
||||||
|
|
Loading…
Reference in New Issue