INNER CODE UNIT · Rust
look_and_camera
dust-engine/dust · crates/character/src/lib.rs:430
fn look_and_camera(
mut characters: Query<(&mut Character, &Transform)>,
mut cameras: Query<(&CharacterCamera, &mut Transform), Without<Character>>,
mut cursor: Single<&mut CursorOptions, With<PrimaryWindow>>,
mouse_motion: Res<AccumulatedMouseMotion>,
mouse_buttons: Res<ButtonInput<MouseButton>>,
keys: Res<ButtonInput<KeyCode>>,
children: Query<&Children>,
spatial_query: SpatialQuery,
mut commands: Commands,
) {
if keys.just_pressed(KeyCode::Escape) {
cursor.grab_mode = CursorGrabMode::None;
cursor.visible = true;
} else if mouse_buttons.just_pressed(MouseButton::Left) {
cursor.grab_mode = CursorGrabMode::Locked;
cursor.visible = false;
}