From c3260a25bd5558ecc5113c9204cd36726517e646 Mon Sep 17 00:00:00 2001 From: nokoe Date: Tue, 1 Oct 2024 16:28:43 +0200 Subject: stop interaction before new one is started; fixes #193 --- client/player/controllable_player.gd | 6 ++++++ client/player/player.gd | 1 + 2 files changed, 7 insertions(+) (limited to 'client') diff --git a/client/player/controllable_player.gd b/client/player/controllable_player.gd index 58d3d1e6..55d8d743 100644 --- a/client/player/controllable_player.gd +++ b/client/player/controllable_player.gd @@ -39,6 +39,7 @@ var current_vibration_strength := 0. var current_vibration_change := 0. var target: Vector2i = Vector2i(0, 0) +var last_interaction: Vector2i = Vector2i(0, 0) func _ready(): vibration_timer = Timer.new() @@ -209,10 +210,15 @@ func interact(): marker.visible = true marker_target = tile.item_base.global_position if Input.is_action_just_pressed("interact"): + if interacting: + game.mp.send_tile_interact(game.player_id, last_interaction, true) + interacting = true + last_interaction = target game.mp.send_tile_interact(game.player_id, target, true) tile.interact() marker.set_interacting(true) elif Input.is_action_just_released("interact"): + interacting = false game.mp.send_tile_interact(game.player_id, target, false) marker.set_interacting(false) else: diff --git a/client/player/player.gd b/client/player/player.gd index 6ff28e81..2c8cabf3 100644 --- a/client/player/player.gd +++ b/client/player/player.gd @@ -28,6 +28,7 @@ var position_ = Vector2(0, 0) var position_anim = Vector2(0, 0) var boosting := false var walking := false +var interacting := false var username: String var movement_base: Node3D = Node3D.new() -- cgit v1.2.3-70-g09d2