diff options
Diffstat (limited to 'pixel-client/src/game.rs')
-rw-r--r-- | pixel-client/src/game.rs | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/pixel-client/src/game.rs b/pixel-client/src/game.rs index d4f1e4e4..5a06ad30 100644 --- a/pixel-client/src/game.rs +++ b/pixel-client/src/game.rs @@ -113,7 +113,7 @@ impl Game { keyboard: &KeyboardState, layout: &AtlasLayout, ) -> Option<Box<State>> { - self.network.poll(); + self.network.poll().unwrap(); // TODO perf for packet in self.network.queue_in.drain(..).collect::<Vec<_>>() { @@ -160,9 +160,8 @@ impl Game { } if let Some(player) = self.players.get_mut(&self.my_id) { - player - .movement - .update(&self.collision_map, direction, boost, dt); + player.movement.input(direction, boost); + player.movement.update(&self.collision_map, dt); if send_movement { self.network @@ -271,7 +270,8 @@ impl Game { item: None, movement: MovementBase { position, - direction: Vec2::ZERO, + input_direction: Vec2::ZERO, + input_boost: false, facing: Vec2::X, rotation: 0., velocity: Vec2::ZERO, @@ -287,17 +287,18 @@ impl Game { self.player_ids.remove(&id); self.players.remove(&id); } - PacketC::Position { + PacketC::Movement { player, pos, rot, - boosting, + boost, + dir, } => { if player != self.my_id { if let Some(p) = self.players.get_mut(&player) { p.movement.position = pos; p.movement.rotation = rot; - p.movement.boosting = boosting; + p.movement.input(dir, boost); } } } |