Record jumps

This commit is contained in:
Sofia 2026-07-26 20:38:52 +03:00
parent e9343f9f48
commit a304691d1b
2 changed files with 11 additions and 0 deletions

View File

@ -953,6 +953,11 @@ impl Game {
// Handle a jump, either from the server or from a client // Handle a jump, either from the server or from a client
pub fn handle_jump(&mut self, player_id: u16) { pub fn handle_jump(&mut self, player_id: u16) {
if let Some(recorder) = &mut self.replay_recorder {
recorder
.bind_mut()
.record_event(ReplayEvent::Jump(player_id));
}
if player_id != self.self_id.unwrap_or(0) { if player_id != self.self_id.unwrap_or(0) {
if let Some(player) = self.find_player_mut(player_id) { if let Some(player) = self.find_player_mut(player_id) {
player.apply_jump(); player.apply_jump();

View File

@ -109,6 +109,11 @@ impl INode for ReplayPlayback {
} }
} }
} }
ReplayEvent::Jump(player_id) => {
if let Some(character) = self.player_characters.get_mut(player_id) {
character.bind_mut().jump();
}
}
} }
} }
} }
@ -267,6 +272,7 @@ pub enum ReplayEvent {
Death(DamageSource, u16), Death(DamageSource, u16),
Shoot(u16, Vector3), Shoot(u16, Vector3),
Respawn(u16, ReplayPlayerState), Respawn(u16, ReplayPlayerState),
Jump(u16),
} }
#[derive(Debug, Clone, Default)] #[derive(Debug, Clone, Default)]