diary/system/data/data_singleton.gd

40 lines
657 B
GDScript3
Raw Normal View History

extends Node
2022-06-04 13:33:00 +02:00
signal loaded()
var messages: MessageData
var topics: TopicData
func _ready():
2022-06-04 13:33:00 +02:00
var autosave_timer = Timer.new()
2022-05-24 21:31:30 +02:00
autosave_timer.wait_time = 600.0 # Every ten minutes.
autosave_timer.autostart = true
autosave_timer.connect("timeout", self, "_save_data")
add_child(autosave_timer)
func _notification(what):
if what == NOTIFICATION_WM_QUIT_REQUEST:
_save_data()
2022-06-04 13:33:00 +02:00
func setup():
messages = MessageData.new()
topics = TopicData.new()
yield(get_tree(), "idle_frame")
_load_data()
func _load_data():
messages.load_data()
topics.load_data()
2022-06-04 13:33:00 +02:00
emit_signal("loaded")
func _save_data():
messages.save_data()
topics.save_data()