# no name - meant to be an autoload # Handles regional origin. extends Node @export var region_size := 1000.0 @export var origin := Vector3i.ZERO @export var anchor: RegionTransform var nodes_to_move: Dictionary[Node3D, bool] func _physics_process(_delta: float) -> void: if (anchor and anchor.region != origin): move_origin(anchor.region) func add_node(new_node: Node3D) -> void: nodes_to_move[new_node] = true func remove_node(old_node: Node3D) -> void: nodes_to_move.erase(old_node) func move_origin(new_origin: Vector3i) -> void: origin = new_origin var move_amount := Vector3(new_origin - origin * 1000) for node in nodes_to_move: node.transform.origin += move_amount