diff options
Diffstat (limited to 'client/scripts/controllable_player.gd')
| -rw-r--r-- | client/scripts/controllable_player.gd | 16 | 
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 | 
