Files
Kalulu/sources/utils/autoloads/lesson_logger.gd
T
Laurent Tourte 9ded82ef24 Godot project with a few initial classes
State
State machine
Log resource
Lesson logger
Game globals
2022-12-14 16:21:29 +01:00

32 lines
1.1 KiB
GDScript

extends Node
class_name Logger
const log_resource_class: = preload("res://sources/utils/minigame_resources/log.gd")
var log_resources: = {}
func save_logs(logs: Dictionary, teacher_id: String, user_id: String, minigame_name: String, lesson: String, time: String) -> void:
var file_path: = "user://" + teacher_id + "/" + user_id + "/" + minigame_name + ".tres"
if not ResourceLoader.exists(file_path):
var log_resource: LogResource = log_resource_class.instance()
ResourceSaver.save(log_resource, file_path, ResourceSaver.FLAG_COMPRESS)
if not file_path in log_resources:
var log_resource: = ResourceLoader.load(file_path)
log_resources[file_path] = log_resource
if not log_resources[file_path].has(lesson):
log_resources[file_path][lesson] = {}
if not log_resources[file_path][lesson].has(time):
log_resources[file_path][lesson][time] = logs
else:
var i: = 0
while log_resources[file_path][lesson].has(time + "_" + str(i)):
i += 1
log_resources[file_path][lesson][time + "_" + str(i)] = logs
ResourceSaver.save(log_resources[file_path], file_path, ResourceSaver.FLAG_COMPRESS)