26 lines
688 B
GDScript
26 lines
688 B
GDScript
extends Node3D
|
|
|
|
var tier: int = 1
|
|
|
|
@onready var tooltip: Label3D = $Tooltip
|
|
|
|
func _ready() -> void:
|
|
add_to_group("interactable")
|
|
tooltip.visible = false
|
|
var tw := create_tween().set_loops()
|
|
tw.tween_property(self, "position:y", 0.3, 0.7)
|
|
tw.tween_property(self, "position:y", 0.1, 0.7)
|
|
|
|
func _process(delta: float) -> void:
|
|
#rotation.y += delta * 1.2
|
|
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_boots", 2.0, tier)
|
|
queue_free()
|