diff options
Diffstat (limited to 'pixel-client/src')
-rw-r--r-- | pixel-client/src/game.rs | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/pixel-client/src/game.rs b/pixel-client/src/game.rs index af387b95..600ea2f1 100644 --- a/pixel-client/src/game.rs +++ b/pixel-client/src/game.rs @@ -147,23 +147,27 @@ impl Game { if interact != self.interacting { if interact { self.network.queue_out.push_back(PacketS::Interact { + player: self.my_id, pos: Some(self.players[&self.my_id].movement.get_interact_target()), }); } else { - self.network - .queue_out - .push_back(PacketS::Interact { pos: None }); + self.network.queue_out.push_back(PacketS::Interact { + player: self.my_id, + pos: None, + }); } self.interacting = interact; } if let Some(player) = self.players.get_mut(&self.my_id) { - let movement_packet = player + player .movement .update(&self.collision_map, direction, boost, dt); if send_movement { - self.network.queue_out.push_back(movement_packet); + self.network + .queue_out + .push_back(player.movement.movement_packet(direction, self.my_id)); } player.interact_target_anim.exp_to( @@ -205,7 +209,7 @@ impl Game { pub fn packet_in(&mut self, packet: PacketC, layout: &AtlasLayout) { match packet { - PacketC::Init { id } => self.my_id = id, + PacketC::Joined { id } => self.my_id = id, PacketC::Data { data } => { self.tilemap.init(&data.tile_names, layout); self.item_sprites = data |