From dbcd822b506c68edd1a1c9eaea2f39d349b937e4 Mon Sep 17 00:00:00 2001 From: PROMETHIA-27 <42193387+PROMETHIA-27@users.noreply.github.com> Date: Sat, 20 Dec 2025 19:47:45 -0500 Subject: [PATCH] Camera update multiplayer (#93) --- crates/hedz_reloaded/src/camera.rs | 24 +++++++++++++++++------- crates/hedz_reloaded/src/client/mod.rs | 2 +- crates/hedz_reloaded/src/config.rs | 3 +-- 3 files changed, 19 insertions(+), 10 deletions(-) diff --git a/crates/hedz_reloaded/src/camera.rs b/crates/hedz_reloaded/src/camera.rs index 24b04e0..52c277a 100644 --- a/crates/hedz_reloaded/src/camera.rs +++ b/crates/hedz_reloaded/src/camera.rs @@ -131,12 +131,19 @@ fn update_ui( #[cfg(feature = "client")] fn update( - mut cam: Query< + cam: Single< (&MainCamera, &mut Transform, &CameraRotationInput), (Without, Without), >, - target_q: Single<&Transform, (With, Without)>, - arm_rotation: Single<&Transform, With>, + target_q: Single< + (&Transform, &Children), + ( + With, + With, + Without, + ), + >, + arm_rotation: Query<&Transform, With>, spatial_query: SpatialQuery, cam_state: Res, ) { @@ -144,11 +151,14 @@ fn update( return; } - let arm_tf = arm_rotation; + let (camera, mut cam_transform, cam_rotation_input) = cam.into_inner(); - let Ok((camera, mut cam_transform, cam_rotation_input)) = cam.single_mut() else { - return; - }; + let (target_q, children) = target_q.into_inner(); + + let arm_tf = children + .iter() + .find_map(|child| arm_rotation.get(child).ok()) + .unwrap(); if !camera.enabled { return; diff --git a/crates/hedz_reloaded/src/client/mod.rs b/crates/hedz_reloaded/src/client/mod.rs index 8c1b285..933d71c 100644 --- a/crates/hedz_reloaded/src/client/mod.rs +++ b/crates/hedz_reloaded/src/client/mod.rs @@ -125,7 +125,7 @@ fn connect_to_server( let authentication = bevy_replicon_renet::netcode::ClientAuthentication::Unsecure { client_id, protocol_id: 0, - server_addr: host_addr.clone(), + server_addr: *host_addr, user_data: None, }; let transport = bevy_replicon_renet::netcode::NetcodeClientTransport::new( diff --git a/crates/hedz_reloaded/src/config.rs b/crates/hedz_reloaded/src/config.rs index 966a2c9..2f75459 100644 --- a/crates/hedz_reloaded/src/config.rs +++ b/crates/hedz_reloaded/src/config.rs @@ -1,7 +1,6 @@ -use std::net::SocketAddr; - use bevy::prelude::*; use clap::Parser; +use std::net::SocketAddr; use steamworks::SteamId; pub fn plugin(app: &mut App) {