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.gd11
1 files changed, 9 insertions, 2 deletions
diff --git a/client/scripts/controllable_player.gd b/client/scripts/controllable_player.gd
index d0852846..debb86dd 100644
--- a/client/scripts/controllable_player.gd
+++ b/client/scripts/controllable_player.gd
@@ -23,7 +23,7 @@ func _process(delta):
update(delta, input)
position_anim = position_
rotation_anim = rotation_
- mark_interact_target()
+ interact()
super(delta)
func update(dt: float, input: Vector2):
@@ -68,12 +68,19 @@ func aabb_point_distance(min: Vector2, max: Vector2, p: Vector2) -> float:
func update_position(_new_position: Vector2, _new_rotation: float):
pass
-func mark_interact_target():
+func interact():
var target = Vector2i(
int(floor(position.x + sin(rotation.y))),
int(floor(position.z + cos(rotation.y)))
)
var tile_idx = str(target)
+ if Input.is_action_just_pressed("interact"):
+ Multiplayer.send_interact(target, true)
+ if game.map.tile_by_pos.has(tile_idx):
+ var t: Floor = game.map.tile_by_pos[tile_idx]
+ t.interact()
+ elif Input.is_action_just_released("interact"):
+ Multiplayer.send_interact(target, false)
if game.map.tile_by_pos.has(tile_idx):
var t: Floor = game.map.tile_by_pos[tile_idx]
game.marker.visible = true