Skip to content

Commit 952f1d2

Browse files
committed
Prevent profile from saving multiple times
1 parent 6208724 commit 952f1d2

1 file changed

Lines changed: 11 additions & 0 deletions

File tree

resources/Profile.gd

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,9 @@ const URL_GODOT_DOCS_REF = "ref=godot-docs"
3030
@export var framerate_limit := 60: set = set_framerate_limit
3131

3232

33+
var _save_queued := false
34+
35+
3336
func _init() -> void:
3437
study_progression = []
3538
last_started_lesson = {}
@@ -41,11 +44,19 @@ func _init() -> void:
4144

4245

4346
func save() -> void:
47+
if _save_queued:
48+
return
49+
_save_queued = true
50+
_run_save.call_deferred()
51+
52+
53+
func _run_save() -> void:
4454
if resource_path.is_empty():
4555
push_error("Cannot save a file without a filename, set resource_path first.")
4656
return
4757
ResourceSaver.save(self, resource_path)
4858
take_over_path(resource_path)
59+
_save_queued = false
4960

5061

5162
func get_or_create_course(course_id: String) -> CourseProgress:

0 commit comments

Comments
 (0)