Record jumps
This commit is contained in:
parent
e9343f9f48
commit
a304691d1b
@ -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();
|
||||||
|
|||||||
@ -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)]
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user