Files
Undertaker-Simulator/addons/interaction/interaction_ray.gd
T
2026-01-27 12:31:37 +01:00

18 lines
500 B
GDScript

extends Node3D
@onready var ray_cast: RayCast3D = $RayCast3D
const Interactable = preload("uid://d1pa8ssvmxbn")
@export var max_distance: float = 100
func _ready() -> void:
ray_cast.target_position = Vector3(0,0,-max_distance)
func _input(event: InputEvent) -> void:
if event.is_action_pressed("interact"):
if ray_cast.is_colliding():
var collider = ray_cast.get_collider()
if collider.get_script() == Interactable:
var interactable: Interactable = collider
interactable.hit()