Set ball and player visibility to false if playback exists

This commit is contained in:
Sofia 2026-07-27 20:26:58 +03:00
parent 1a0a11cccc
commit 5cd4f3cc3e

View File

@ -719,12 +719,15 @@ impl Game {
player_id: Option<u16>, player_id: Option<u16>,
) { ) {
if let Some(map) = &mut self.current_map { if let Some(map) = &mut self.current_map {
let ball = map.bind_mut().spawn_ball(transform, velocity, player_id); let mut ball = map.bind_mut().spawn_ball(transform, velocity, player_id);
if let Some(ball) = &ball { if let Some(ball) = &mut ball {
self.world_ball = Some(ball.clone()); self.world_ball = Some(ball.clone());
ball.signals() ball.signals()
.on_ball_pickup() .on_ball_pickup()
.connect_other(self, |s, player_id| s.handle_ball_pickup(player_id)); .connect_other(self, |s, player_id| s.handle_ball_pickup(player_id));
if self.current_replay_playback.is_some() {
ball.set_visible(false);
}
} }
self.run_deferred(move |_| { self.run_deferred(move |_| {
if let Some(ball) = ball if let Some(ball) = ball
@ -861,6 +864,9 @@ impl Game {
.spawn_player(id, team, id == self.self_id.unwrap_or(0), None, true); .spawn_player(id, team, id == self.self_id.unwrap_or(0), None, true);
if let Some(character) = &mut character { if let Some(character) = &mut character {
if self.current_replay_playback.is_some() {
character.set_visible(false);
}
if let Some(player) = self.find_player(id) { if let Some(player) = self.find_player(id) {
character character
.dyn_bind_mut() .dyn_bind_mut()
@ -943,6 +949,9 @@ impl Game {
true, true,
); );
if let Some(character) = &mut character { if let Some(character) = &mut character {
if self.current_replay_playback.is_some() {
character.set_visible(false);
}
character character
.dyn_bind_mut() .dyn_bind_mut()
.swap_weapon(player.last_held_weapon, true); .swap_weapon(player.last_held_weapon, true);