From d4ddead644eaf21e307938a3af748c6c3545d304 Mon Sep 17 00:00:00 2001 From: hut Date: Wed, 3 Apr 2024 14:21:47 +0200 Subject: [PATCH] enter vehicles with E instead of Q, make E the "interact" key --- README.md | 4 ++-- src/actor.rs | 29 ++++++++++++++--------------- 2 files changed, 16 insertions(+), 17 deletions(-) diff --git a/README.md b/README.md index 03ee8fa..a5d07d8 100644 --- a/README.md +++ b/README.md @@ -21,10 +21,10 @@ Key features: - AWSD: accelerate - Shift and Ctrl: accelerate up and down - JKLUIO: mouseless camera rotation -- e: open communication channel to nearby astronauts +- e: interact: talk to people, enter vehicles - t: toggle music (NOTE: currently no music is included in the git repo) - m: mute sound effects -- q: enter/exit vehicle +- q: exit vehicle - r: rotate (hold r while moving the mouse) - f: toggle 3rd person view - TAB: toggle augmented reality overlay (HUD, low-light amplifier) diff --git a/src/actor.rs b/src/actor.rs index 8f22495..c5498a1 100644 --- a/src/actor.rs +++ b/src/actor.rs @@ -247,6 +247,7 @@ pub fn handle_input( ) { let mindist = MIN_INTERACT_DISTANCE * MIN_INTERACT_DISTANCE; if keyboard_input.just_pressed(settings.key_interact) { + // Talking to people if let Ok((_player_entity, _player_actor, player)) = player.get_single() { for (talker, transform) in &q_talker { if transform.translation.distance_squared(player.translation) <= mindist { @@ -255,8 +256,6 @@ pub fn handle_input( } } } - } - else if keyboard_input.just_pressed(settings.key_vehicle) { // Entering Vehicles if q_player_drives.is_empty() { if let Ok((player_entity, _player_actor, player)) = player.get_single_mut() { @@ -275,20 +274,20 @@ pub fn handle_input( } } } + } + else if keyboard_input.just_pressed(settings.key_vehicle) { // Exiting Vehicles - else { - if let Ok((player_entity, _player_actor, _player)) = player.get_single_mut() { - for vehicle_entity in &q_player_drives { - commands.entity(vehicle_entity).insert(ActorVehicleBeingEntered); - commands.entity(player_entity).insert(ActorEnteringVehicle); - ew_vehicle.send(VehicleEnterExitEvent{ - vehicle: vehicle_entity, - driver: player_entity, - is_entering: false, - is_player: true, - }); - break; - } + if let Ok((player_entity, _player_actor, _player)) = player.get_single_mut() { + for vehicle_entity in &q_player_drives { + commands.entity(vehicle_entity).insert(ActorVehicleBeingEntered); + commands.entity(player_entity).insert(ActorEnteringVehicle); + ew_vehicle.send(VehicleEnterExitEvent{ + vehicle: vehicle_entity, + driver: player_entity, + is_entering: false, + is_player: true, + }); + break; } } }