aboutsummaryrefslogtreecommitdiff
path: root/client/scripts/controllable_player.gd
diff options
context:
space:
mode:
authornokoe <nokoe@mailbox.org>2024-06-22 21:43:35 +0200
committermetamuffin <metamuffin@disroot.org>2024-06-23 19:30:15 +0200
commite468cf085e0b23b3c5b359a672fccc6b8b7d4fc2 (patch)
treeafac68d560c2b02c5000b183921e2000b1d703d4 /client/scripts/controllable_player.gd
parent2c5ced9a026012ef8fe890ff006d261148ce70f1 (diff)
downloadhurrycurry-e468cf085e0b23b3c5b359a672fccc6b8b7d4fc2.tar
hurrycurry-e468cf085e0b23b3c5b359a672fccc6b8b7d4fc2.tar.bz2
hurrycurry-e468cf085e0b23b3c5b359a672fccc6b8b7d4fc2.tar.zst
marker
Diffstat (limited to 'client/scripts/controllable_player.gd')
-rw-r--r--client/scripts/controllable_player.gd16
1 files changed, 16 insertions, 0 deletions
diff --git a/client/scripts/controllable_player.gd b/client/scripts/controllable_player.gd
index 59f4c3de..d0852846 100644
--- a/client/scripts/controllable_player.gd
+++ b/client/scripts/controllable_player.gd
@@ -21,6 +21,9 @@ func _process(delta):
var input = Vector2(Input.get_axis("left", "right"), Input.get_axis("forward", "backwards")).normalized()
input = input.rotated(-game.camera.angle_target)
update(delta, input)
+ position_anim = position_
+ rotation_anim = rotation_
+ mark_interact_target()
super(delta)
func update(dt: float, input: Vector2):
@@ -64,3 +67,16 @@ 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():
+ var target = Vector2i(
+ int(floor(position.x + sin(rotation.y))),
+ int(floor(position.z + cos(rotation.y)))
+ )
+ var tile_idx = str(target)
+ if game.map.tile_by_pos.has(tile_idx):
+ var t: Floor = game.map.tile_by_pos[tile_idx]
+ game.marker.visible = true
+ game.marker_target = t.item_base.global_position
+ else:
+ game.marker.visible = false