33 lines
750 B
GDScript
33 lines
750 B
GDScript
class_name DatasetEntry
|
|
extends RefCounted
|
|
|
|
var id: String
|
|
var name: String
|
|
var description: String
|
|
var icon: String
|
|
var top_level_fields: Dictionary[String, DataFieldValue]
|
|
var groups: Array[DatasetGroup]
|
|
|
|
func to_dict() -> Dictionary:
|
|
var groups_array: Array = []
|
|
for g in groups:
|
|
groups_array.append(g.to_json())
|
|
|
|
var top_level_fields_dict: Dictionary = {}
|
|
if top_level_fields:
|
|
for key in top_level_fields.keys():
|
|
var dfv: DataFieldValue = top_level_fields[key]
|
|
if dfv != null:
|
|
top_level_fields_dict[key] = dfv.to_dict()
|
|
else:
|
|
top_level_fields_dict[key] = null
|
|
|
|
return {
|
|
"id": id,
|
|
"name": name,
|
|
"description": description,
|
|
"icon": icon,
|
|
"top_level_fields": top_level_fields_dict,
|
|
"groups": groups_array
|
|
}
|