bevy/examples/input/gamepad_input_events.rs
2021-07-24 16:43:37 -07:00

30 lines
1,007 B
Rust

use bevy::{
input::gamepad::{GamepadEvent, GamepadEventType},
prelude::*,
};
fn main() {
App::new()
.add_plugins(DefaultPlugins)
.add_system(gamepad_events.system())
.run();
}
fn gamepad_events(mut gamepad_event: EventReader<GamepadEvent>) {
for event in gamepad_event.iter() {
match &event {
GamepadEvent(gamepad, GamepadEventType::Connected) => {
info!("{:?} Connected", gamepad);
}
GamepadEvent(gamepad, GamepadEventType::Disconnected) => {
info!("{:?} Disconnected", gamepad);
}
GamepadEvent(gamepad, GamepadEventType::ButtonChanged(button_type, value)) => {
info!("{:?} of {:?} is changed to {}", button_type, gamepad, value);
}
GamepadEvent(gamepad, GamepadEventType::AxisChanged(axis_type, value)) => {
info!("{:?} of {:?} is changed to {}", axis_type, gamepad, value);
}
}
}
}