aboutsummaryrefslogtreecommitdiff
path: root/client/scripts/controllable_player.gd
diff options
context:
space:
mode:
Diffstat (limited to 'client/scripts/controllable_player.gd')
-rw-r--r--client/scripts/controllable_player.gd18
1 files changed, 11 insertions, 7 deletions
diff --git a/client/scripts/controllable_player.gd b/client/scripts/controllable_player.gd
index 819e7a08..4cedbdbb 100644
--- a/client/scripts/controllable_player.gd
+++ b/client/scripts/controllable_player.gd
@@ -23,7 +23,8 @@ func _process(delta):
update(delta, input)
position_anim = position_
rotation_anim = rotation_
- interact()
+ if not Input.is_action_pressed("interact")||Input.is_action_just_pressed("interact"):
+ interact()
super(delta)
func update(dt: float, input: Vector2):
@@ -75,14 +76,17 @@ func interact():
)
var tile_idx = str(target)
var t: Floor = game.map.tile_by_pos.get(tile_idx)
- if Input.is_action_just_pressed("interact"):
- Multiplayer.send_interact(target, true)
- if t != null:
- t.interact()
- elif Input.is_action_just_released("interact"):
- Multiplayer.send_interact(target, false)
if t != null:
game.marker.visible = true
game.marker_target = t.item_base.global_position
+ if Multiplayer.get_tile_interactive(target):
+ game.marker.set_interactive(true)
+ if Input.is_action_just_pressed("interact"):
+ Multiplayer.send_interact(target, true)
+ t.interact()
+ elif Input.is_action_just_released("interact"):
+ Multiplayer.send_interact(target, false)
+ else:
+ game.marker.set_interactive(false)
else:
game.marker.visible = false