fix orientation reset when switching off fly ctrls

This commit is contained in:
2025-04-12 18:53:50 +02:00
parent d59cf762ee
commit 9779e4e6cb

View File

@@ -4,7 +4,6 @@ use crate::{
GameState, GameState,
head::ActiveHead, head::ActiveHead,
heads_database::{HeadControls, HeadsDatabase}, heads_database::{HeadControls, HeadsDatabase},
player::PlayerBodyMesh,
}; };
mod collisions; mod collisions;
@@ -75,7 +74,7 @@ fn head_change(
query: Query<&ActiveHead, Changed<ActiveHead>>, query: Query<&ActiveHead, Changed<ActiveHead>>,
heads_db: Res<HeadsDatabase>, heads_db: Res<HeadsDatabase>,
mut selected_controller: ResMut<SelectedController>, mut selected_controller: ResMut<SelectedController>,
mut rig_transform_q: Option<Single<&mut Transform, With<PlayerBodyMesh>>>, mut event_controller_switch: EventWriter<ControllerSwitchEvent>,
) { ) {
for head in query.iter() { for head in query.iter() {
let stats = heads_db.head_stats(head.0); let stats = heads_db.head_stats(head.0);
@@ -85,11 +84,7 @@ fn head_change(
}; };
if selected_controller.0 != controller { if selected_controller.0 != controller {
if controller == ControllerSet::ApplyControlsRun { event_controller_switch.send(ControllerSwitchEvent);
if let Some(mut transform) = rig_transform_q.take() {
transform.rotation = Quat::IDENTITY;
}
}
selected_controller.0 = controller; selected_controller.0 = controller;
} }