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