Files
Dawn-Godot/scene/OverworldScene.gd
2026-01-07 22:09:56 -06:00

35 lines
1013 B
GDScript

class_name OverworldScene extends Node
@export var map:Node3D = null
func _enter_tree() -> void:
OVERWORLD.mapChanged.connect(onMapChanged)
func _ready() -> void:
pass
func _exit_tree() -> void:
OVERWORLD.mapChanged.disconnect(onMapChanged)
func onMapChanged(newMap:PackedScene, playerDestinationNodeName:String) -> void:
print("New map time.", newMap)
for childScene in map.get_children():
map.remove_child(childScene)
if !newMap:
return
var newMapInstance = newMap.instantiate()
map.add_child(newMapInstance)
# Find Player.
# if playerDestinationNodeName:
# var player = newMapInstance.get_node("Player")
# var destNode = newMapInstance.get_node(playerDestinationNodeName)
# if player && player is Player && destNode:
# player.global_position = destNode.global_position
# player.global_rotation.y = destNode.global_rotation.y
# elif playerDestinationNodeName:
# push_error("Player, or destination node not found in new map.")
# pass