27 lines
680 B
GDScript
27 lines
680 B
GDScript
extends RigidBody3D
|
|
|
|
# Referenz zum Griff (der das Pickable-Skript hat)
|
|
@export var door_handle : XRToolsPickable
|
|
|
|
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 _on_grab(_pickable):
|
|
# Wenn angefasst: Physik aktivieren
|
|
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
|