cawez_puzzlebox/primitives/gravity_changer/gravity_changer.gd

21 lines
473 B
GDScript

extends Area3D
@export var down = Vector3(0, -1, 0)
@export var follow_parent = false
# Called when the node enters the scene tree for the first time.
func _ready():
body_entered.connect(_on_area_entered)
func _on_area_entered(body : Node3D) -> void:
var new_down
if !follow_parent:
new_down = quaternion * down
else :
new_down = get_node("..").quaternion * quaternion * down
print ("Changing gravity to: ", new_down)
Globals.set_global_down(new_down)