diff options
author | nokoe <nokoe@mailbox.org> | 2024-06-22 21:58:12 +0200 |
---|---|---|
committer | metamuffin <metamuffin@disroot.org> | 2024-06-23 19:30:15 +0200 |
commit | d14e5c8a7cf6eec2bf764a3eb347492dae0357f1 (patch) | |
tree | 8a5a65f7f17d45082e0e5f26e1ea44f7e66bbebf /client/scripts/controllable_player.gd | |
parent | e468cf085e0b23b3c5b359a672fccc6b8b7d4fc2 (diff) | |
download | hurrycurry-d14e5c8a7cf6eec2bf764a3eb347492dae0357f1.tar hurrycurry-d14e5c8a7cf6eec2bf764a3eb347492dae0357f1.tar.bz2 hurrycurry-d14e5c8a7cf6eec2bf764a3eb347492dae0357f1.tar.zst |
interact
Diffstat (limited to 'client/scripts/controllable_player.gd')
-rw-r--r-- | client/scripts/controllable_player.gd | 11 |
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 |