Files

26 lines
749 B
GDScript

extends Node3D
@onready var tooltip: Label3D = $Tooltip
@onready var mesh_node: MeshInstance3D = $SphereMesh
func _ready() -> void:
add_to_group("interactable")
tooltip.visible = false
var tw := create_tween().set_loops()
tw.tween_property(self, "position:y", 0.7, 0.9)
tw.tween_property(self, "position:y", 0.3, 0.9)
func _process(delta: float) -> void:
rotation.y += delta * 1.8
mesh_node.rotation.x += delta * 0.9
var players := get_tree().get_nodes_in_group("player")
if players.is_empty():
tooltip.visible = false
return
var p := players[0] as Node3D
tooltip.visible = p != null and global_position.distance_to(p.global_position) < 2.5
func interact(player: Node) -> void:
player.call("apply_upgrade_enchant")
queue_free()