extends Node3D # Referenz zur Tür (der RigidBody) @export var door_rigidbody : RigidBody3D # Referenz zur SnapZone (der "WheelSpace") @export var wheel_snap_zone : XRToolsSnapZone func _ready(): # Wir verbinden das Signal der SnapZone if wheel_snap_zone: # "has_picked_up" wird gefeuert, wenn die Zone ein Objekt fängt wheel_snap_zone.has_picked_up.connect(_on_wheel_inserted) # Optional: Wenn man das Rad wieder rausnimmt, soll die Tür wieder zu gehen? # Dann aktiviere die nächste Zeile: # wheel_snap_zone.has_dropped.connect(_on_wheel_removed) # Sicherstellen, dass die Tür am Start zu ist lock_door() func _on_wheel_inserted(_object): print("Rad eingesetzt! Tür wird entriegelt.") unlock_door() func _on_wheel_removed(_object): print("Rad entfernt! Tür wird verriegelt.") lock_door() func unlock_door(): if door_rigidbody: door_rigidbody.freeze = false # Physik an -> Tür beweglich # Optional: Schlafeinschlafen verhindern func lock_door(): if door_rigidbody: door_rigidbody.freeze = true # Physik aus -> Tür fest wie eine Wand