This commit is contained in:
2026-03-13 22:00:02 -05:00
parent 90241d6830
commit 6738e8d217
676 changed files with 15819 additions and 78 deletions

View File

@@ -0,0 +1,46 @@
extends Node
signal MapChanged(map_id: Enums.MapIds)
@export var initial_map_id: Enums.MapIds
@onready var world: Node2D = $"../World"
# Private Methods
func _ready() -> void:
var map_scene := MapLoader.GetMap(initial_map_id)
var map := map_scene.instantiate()
world.add_child(map)
await map.ready
_connect_loading_zone_transporters()
MapChanged.emit(initial_map_id)
func _on_map_transition_queued(map_id: Enums.MapIds, marker_name: String) -> void:
print("Map Transition Queued: %s" % [Enums.MapIds.keys()[map_id]])
var map_scene := MapLoader.GetMap(map_id)
MapLoader.SetSpawnMarker(marker_name)
for child in world.get_children():
child.queue_free()
await child.tree_exited
var map := map_scene.instantiate()
world.call_deferred("add_child", map)
await map.ready
_connect_loading_zone_transporters()
MapChanged.emit(map_id)
func _connect_signals() -> void:
_connect_loading_zone_transporters()
func _connect_loading_zone_transporters() -> void:
var loading_zone_transporters := GroupUtils.GetAllLoadingZoneTransporters()
print("Loading Zones: %d" % len(loading_zone_transporters))
for transporter in loading_zone_transporters:
transporter.MapTransitionQueued.connect(_on_map_transition_queued)