37 lines
996 B
GDScript
37 lines
996 B
GDScript
extends ConfirmationDialog
|
|
|
|
func _on_about_to_popup():
|
|
$ItemList.clear()
|
|
#var dir = DirAccess.open("user://saves/")
|
|
var dir = DirAccess.open("user://saves/")
|
|
|
|
if dir:
|
|
dir.list_dir_begin()
|
|
var file_name = dir.get_next()
|
|
while file_name != "":
|
|
if dir.current_is_dir():
|
|
print("Found directory: " + file_name)
|
|
else:
|
|
print("Found file: " + file_name)
|
|
$ItemList.add_item(file_name)
|
|
file_name = dir.get_next()
|
|
else:
|
|
print("An error occurred when trying to access the path.")
|
|
|
|
func _on_confirmed():
|
|
# Get the Map node
|
|
var sim = get_node("../../../Sim")
|
|
var old_map = get_node("../../Map")
|
|
|
|
# Load and instance the selected item
|
|
for item in $ItemList.get_selected_items():
|
|
print("load:", $ItemList.get_item_text(item))
|
|
var res = ResourceLoader.load("user://saves/" + $ItemList.get_item_text(item))
|
|
|
|
if res and res is PackedScene:
|
|
var instance = res.instantiate()
|
|
sim.remove_child(old_map)
|
|
sim.add_child(instance)
|
|
else:
|
|
print("Error loading")
|