diff options
Diffstat (limited to 'light-client/src/game.rs')
-rw-r--r-- | light-client/src/game.rs | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/light-client/src/game.rs b/light-client/src/game.rs index 2692e6fc..231f6bd1 100644 --- a/light-client/src/game.rs +++ b/light-client/src/game.rs @@ -42,6 +42,7 @@ pub struct Game { misc_textures: MiscTextures, item_sprites: Vec<Sprite>, movement_send_cooldown: f32, + interacting: bool, } pub struct Tile { @@ -71,6 +72,7 @@ impl Game { movement_send_cooldown: 0., misc_textures: MiscTextures::init(renderer), item_sprites: Vec::new(), + interacting: false, } } @@ -217,6 +219,17 @@ impl Game { self.movement_send_cooldown += 0.04 } + if interact != self.interacting { + if interact { + packet_out.push_back(PacketS::Interact { + pos: Some(self.players[&self.my_id].movement.get_interact_target()), + }); + } else { + packet_out.push_back(PacketS::Interact { pos: None }); + } + self.interacting = interact; + } + for (pid, player) in &mut self.players { if *pid == self.my_id { let movement_packet = |