class_name Top extends Node2D @export var initial_room: PackedScene var save_state_path = "user://save_state.cfg" var save_state = ConfigFile.new() func _ready() -> void: var room = initial_room.instantiate() room.name = "ActiveRoom" room.process_mode = Node.PROCESS_MODE_PAUSABLE add_child(room) # Testing save_state.load(save_state_path) print("loaded test_item: ", save_state.get_value("items", "test_item")) save_state.set_value("items", "test_item", true) save_state.save(save_state_path) print(OS.get_data_dir()) func save(): save_state.save("user://save_state.cfg") func replace_active_room(new_room: Node, on_changed: Callable): var current_room = get_node("ActiveRoom") remove_child(current_room) current_room.queue_free() new_room.name = "ActiveRoom" new_room.connect("tree_entered", on_changed) new_room.process_mode = Node.PROCESS_MODE_PAUSABLE add_child(new_room)