extends Node var messages: MessageData var topics: TopicData func _ready(): messages = MessageData.new() topics = TopicData.new() var autosave_timer = Timer.new() autosave_timer.wait_time = 6.0 # Every ten minutes. autosave_timer.autostart = true autosave_timer.connect("timeout", self, "_save_data") add_child(autosave_timer) yield(get_tree(), "idle_frame") _load_data() func _notification(what): if what == NOTIFICATION_WM_QUIT_REQUEST: _save_data() func _exit_tree(): messages.free() topics.free() func _load_data(): messages.load_data() topics.load_data() func _save_data(): messages.save_data() topics.save_data()