vrp-years-apart/DoorLock2.gd

34 lines
784 B
GDScript

extends RigidBody3D
# Referenz zum Griff (der das Pickable-Skript hat)
@export var door_handle : XRToolsPickable
var unlocked : bool = false
func _ready():
# Am Start die Tür einfrieren
freeze = true
if door_handle:
# Signale verbinden
door_handle.picked_up.connect(_on_grab)
door_handle.dropped.connect(_on_release)
func unlock():
print("Tür entriegel!")
unlocked = true
func _on_grab(_pickable):
# Wenn angefasst: Physik aktivieren
if unlocked:
freeze = false
sleeping = false # Aufwecken, damit sie sofort reagiert
func _on_release(_pickable):
# Wenn losgelassen: Sofort wieder einfrieren
freeze = true
# WICHTIG: Geschwindigkeit nullen, damit sie sofort stoppt und nicht nachrutscht
linear_velocity = Vector3.ZERO
angular_velocity = Vector3.ZERO