extends Node func _on_save_button_pressed() -> void: var save_nodes = get_tree().get_nodes_in_group("SaveObjects") var save_file = FileAccess.open("user://savegame.save", FileAccess.WRITE) for node in save_nodes: if not node.has_method("save"): print("no method") continue var node_data = node.save() save_file.store_var(node_data) pass # Replace with function body. func _on_load_button_pressed(): if not FileAccess.file_exists("user://savegame.save"): print("no save to load") return #var save_nodes = get_tree().get_nodes_in_group("SaveObjects") #for i in save_nodes: #print(i) #i.free() get_node("/root/Game/PlaceManager/BasePlace").free() var save_file = FileAccess.open("user://savegame.save", FileAccess.READ) while save_file.get_position() < save_file.get_length(): var next_load = save_file.get_var() var load_object = load(next_load["scene_file_path"]).instantiate() for i in next_load.keys(): load_object.set(i, next_load[i]) get_node(next_load["parent"]).add_child(load_object)